703 Stimmen

Wie erkennt man, ob JavaScript deaktiviert ist?

Es gab heute Morgen einen Beitrag, in dem gefragt wurde, wie viele Leute JavaScript deaktivieren. Dann fragte ich mich, welche Techniken verwendet werden könnten, um festzustellen, ob der Benutzer es deaktiviert hat.

Weiß jemand von einigen kurzen/einfachen Möglichkeiten, um festzustellen, ob JavaScript deaktiviert ist? Meine Absicht ist es, eine Warnung zu geben, dass die Website ohne aktiviertes JS nicht ordnungsgemäß funktionieren kann.

Letztendlich würde ich sie gerne zu Inhalten umleiten, die auch ohne JS funktionieren, aber ich benötige diese Erkennung als Platzhalter, um anzufangen.

0 Stimmen

Was möchtest du mit diesen Informationen tun? Es könnte die Antwort beeinflussen, die du bekommst - z.B. sollte in der Regel die progressive Verbesserung bevorzugt werden, anstatt zu versuchen, JavaScript-Deaktivierung zu erkennen und spezifische Maßnahmen basierend darauf zu ergreifen.

0 Stimmen

Progressive enhancement ist das, wonach ich suche. Ich möchte in der Lage sein, sie zu alternativem Inhalt umzuleiten, der ordnungsgemäß funktioniert, wenn kein JS-fähiger oder fähiger Browser vorhanden ist.

1 Stimmen

@expiredninja Dieser Beitrag von Nicholas Zakas besagt etwa 2%, obwohl er über ein Jahr alt ist.

10voto

Alpha2k Punkte 2121

Dies ist die "sauberste" Lösung, die ich verwenden würde:

        body *{ /*versteckt alle Elemente im Body*/
            display: none;
        }
        h1{ /*selbst wenn dieses h1 innerhalb von Head-Tags ist, wird es zuerst versteckt, also müssen wir es wieder anzeigen, nachdem alle Body-Elemente versteckt sind*/
            display: block;
        }

    JavaScript ist nicht aktiviert, bitte überprüfen Sie Ihre Browser-Einstellungen.

8voto

Joel Coehoorn Punkte 377088

Wenn JavaScript deaktiviert ist, wird Ihr Client-Code sowieso nicht ausgeführt, daher gehe ich davon aus, dass Sie möchten, dass diese Informationen serverseitig verfügbar sind. In diesem Fall ist noscript weniger hilfreich. Stattdessen würde ich ein verstecktes Eingabefeld haben und JavaScript verwenden, um einen Wert einzugeben. Nach Ihrem nächsten Anfrage oder Postback, wenn der Wert vorhanden ist, wissen Sie, dass JavaScript aktiviert ist.

Seien Sie vorsichtig bei Dingen wie noscript, wo die erste Anfrage angezeigt werden kann, dass JavaScript deaktiviert ist, aber zukünftige Anfragen es aktivieren.

5voto

Brad8118 Punkte 4564

Sie könnten beispielsweise etwas wie document.location = 'java_page.html' verwenden, um den Browser auf eine neue, scriptgeladene Seite umzuleiten. Das Fehlen einer Weiterleitung bedeutet, dass JavaScript nicht verfügbar ist, in diesem Fall können Sie entweder auf CGI-Routinen zurückgreifen oder geeigneten Code zwischen den Tags einfügen. (HINWEIS: NOSCRIPT ist nur in Netscape Navigator 3.0 und höher verfügbar.)

Kredit http://www.intranetjournal.com/faqs/jsfaq/how12.html

4voto

roryf Punkte 28756

Menschen haben bereits Beispiele veröffentlicht, die gute Optionen für die Erkennung sind, aber basierend auf Ihrer Anforderung "Warnung geben, dass die Website nicht richtig funktionieren kann, wenn JavaScript im Browser nicht aktiviert ist". Fügen Sie einfach ein Element hinzu, das irgendwie auf der Seite erscheint, zum Beispiel die "Pop-ups" auf Stack Overflow, wenn Sie ein Abzeichen verdienen, mit einer entsprechenden Meldung, und entfernen Sie dies dann mit einem JavaScript, das sofort ausgeführt wird, wenn die Seite geladen wird (und ich meine das DOM, nicht die ganze Seite).

4voto

Pavan Kumar Punkte 71

Code innerhalb von

Tags wird ausgeführt, wenn kein JavaScript im Browser aktiviert ist. Wir können noscript Tags verwenden, um eine Nachricht anzuzeigen, JavaScript einzuschalten, wie unten gezeigt.

       Um diese Seite richtig anzuzeigen, bitte aktiviere JavaScript und lade die Seite neu

Unsere Website-Inhalte werden versteckt im Tag platziert, wie unten gezeigt

    Website-Inhalte.

Jetzt, wenn JavaScript aktiviert ist, kannst du den Inhalt innerhalb von main_body sichtbar machen, wie unten gezeigt

    document.getElementById("main_body").style.display="block";

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X