Ich habe eine Klasse in meinem <html>
Element namens "no-js" platziert. Dies zeigt an, dass der Benutzer kein Javascript verwendet (ob es deaktiviert oder blockiert ist). Und dann möchte ich in einer von mir erstellten Skriptdatei "no-js" widerrufen und "js" injizieren, damit ich feststellen kann, ob der Benutzer JavaScript oder nicht über Klassen verwendet. Ich habe versucht, mit der replace()
Methode durch Abfragen der HTML-Tag, aber es funktioniert nicht. Hier ist, was ich habe:JavaScript - Ersetzen der Klasse "no-js" durch die Klasse "js" funktioniert nicht?
var html = document.getElementsByTagName("html")[0];
if(html.className == "no-js") {
html.className.replace("no-js", "js"); // user has JS enabled
}
Es gibt keine Fehler in Google Chrome oder Firefox Bug-Konsole, aber weder ist es no-js
-js
ändern. Ich würde den Tag <noscript>
verwenden, aber ich mag es, die Markup-Seite sauber zu halten.
Es ist nicht der Ersatz an Ort und Stelle tun. Sie müssen 'html.className = html.className.replace (" no-js "," js ");' – JJJ
html.classList.remove ('no-js'); html.classList.add ('js'); – philipp