Umieściłem klasę w moim elemencie <html>
o nazwie "no-js". Oznacza to, że użytkownik nie korzysta z javascript (bez względu na to, czy jest wyłączony czy zablokowany). A następnie, w utworzonym przeze mnie pliku skryptu, chcę odwołać "no-js" i wstrzyknąć "js", aby ustalić, czy użytkownik korzysta z javascript, czy nie za pośrednictwem klas. Próbowałem użyć metody replace()
, wysyłając zapytanie do znacznika HTML, ale nie działa. Oto co mam:JavaScript - Zastępując klasę "no-js" z klasą "js" nie działa?
var html = document.getElementsByTagName("html")[0];
if(html.className == "no-js") {
html.className.replace("no-js", "js"); // user has JS enabled
}
Brak błędów w Google Chrome lub konsoli błędów Firefoksa, ale nie jest to zmieniając no-js
do js
. Chciałbym użyć tagu <noscript>
, ale lubię utrzymywać go po stronie znaczników.
Nie robi wymiany na miejscu. Musisz zrobić 'html.className = html.className.replace (" no-js "," js ");' – JJJ
html.classList.remove ('no-js'); html.classList.add ('js'); – philipp