8 Stimmen

Wie kann man überprüfen, ob Javascript deaktiviert ist?

Wie kann man überprüfen, ob der Benutzer Javascript in seinem Browser deaktiviert hat? Zum Beispiel: die Stackoverflow-Seite zeigt eine rote Warnung div am oberen Rand, wenn Sie das Javascript in Firefox deaktivieren? Wie kann man das erreichen?

Eine weitere Sache, die mir aufgefallen ist: Wenn Sie Cookies deaktivieren, funktioniert Stackoverflow nicht. Sie können sich nicht anmelden, wenn Sie auf die Schaltfläche "Anmelden" klicken. Eigentlich ist es das, was ich auch bei meiner Website annehme, die Benutzeranmeldung/Sitzungsdaten hängen von Cookies ab, das UI-Layout usw. hängt von Javascript ab.

Hier möchte ich nicht über das Design-Prinzip (Progressive Enhancement etc..) diskutieren, könnte mir jemand einen guten Weg sagen, um zu überprüfen, ob Cookies, Javascript aktiviert sind oder nicht? Ich denke, es muss auf der Server-Seite getan werden, richtig?

Dankeschön

18voto

Gabriel McAdams Punkte 54162

Hinzufügen einer <noscript> Tag auf der Seite, und wenn JavaScript deaktiviert ist, wird die Nachricht dem Benutzer angezeigt.

Sie können auch feststellen, ob JavaScript aktiviert ist, indem Sie den Erfolg der Ausführung von JavaScript-Code überprüfen

  • ein verborgenes Feld hinzufügen und seinen Standardwert auf false
  • Führen Sie einen Javascript-Code aus, der den Wert auf true
  • Überprüfen Sie den Wert, wenn Sie zurückkommen.

Um nach Cookies zu suchen, setzen Sie ein Cookie und versuchen Sie, es zu lesen. Wenn dies gelingt, sind die Cookies aktiviert.

3voto

egrunin Punkte 23979
<!-- gatewayPage.php -->
<noscript>
    <div style="background-color:red;font-size:14pt;">
        This site will be very boring unless you enable Javascript!
    </div>
    <!-- if you're convinced that bots won't follow your redirect, add this: -->
    Proceed to <a href="myRealHomePage.php">MySite</a> anyway
</noscript>
<script>
    documment.location = "myRealHomePage.php";
</script>

0voto

Mehdi Punkte 1167

Verwenden Sie den noscript-Tag:

<script>
document.write("JS is enabled!");
</script>
<noscript>JS is disabled !</noscript>

Quelle: http://www.w3schools.com/tags/tag_noscript.asp

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