Link: Wichtiger Hinweis in eigener Sache!
| Autor: Klaus Keller | Erstellt am: 2005-12-15 | Aufrufe: 9959 |
Tipp 89: Ist Javascript im Browser aktiviert?
Wie erkennt man, ob Javascript im Browser deaktiviert ist? Und das auch noch zuverlässig? In ASP gibt es für die Erkennung, ob der Browser Javascript-fähig ist, eine Funktion:
1 2 3 4
| Dim objBrowser Set objBrowser = Server.CreateOBject("MSWC.BrowserType") Response.Write("<br>Javascript:" & objBrowser.Javascript) Set objBrowser = Nothing |
Allerdings wird damit nur erkannt, ob der Browser Javascript fähig ist. Ist Javascript in einem Javascript fähigem Browser deaktiviert, funktioniert das Skript nicht mehr. Denn ein das Ergebnis von einem Javascript fähigen Browser lautet immer true, unabhängig davon ob Javascript aktiviert ist.
Wie also kann man nun feststellen, ob Javascript aktiviert ist, und das bitte sehr auch noch zuverlässig? Das oben aufgeführte Skript funktioniert übrigens rein Serverseitig. Möchte man jedoch feststellen ob im Browser Javascript aktiviert ist braucht es dazu eine Clientseitige Prüfung.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| private function JSRefreshSwitch() if len(Request.QueryString("JS"))=0 and _ len(Request.QueryString("Refresh"))=0 then %> <html> <head> <meta http-equiv="refresh" content="3;Test.asp?JS=false&Refresh=true"> </head> <body> <script language="javascript"> location.href = "Test.asp?JS=true&Refresh=maybe"; </script> Sie werden in 3 Sekunden weitergeleitet, falls nicht klicken Sie bitte <a href="Test.asp?JS=false&Refresh=false">hier</a> </body> </html> <% else if cstr(Request.QueryString("JS")) = "true" then Response.Write("Javascript wird unterstützt.") else Response.Write("Javascript wird nicht unterstützt.") if cstr(Request.QueryString("Refresh")) = "true" then Response.Write("<br />HTTP-Refresh wird unterstützt.") else Response.Write("<br />HTTP-Refresh wird nicht unterstützt.") end if end if end if end function |
Mit dieser Funktion wird festgestellt, ob Javascript aktiviert ist. Sollte Javascript deaktiviert sein, wird mit einem HTTP-Refresh versucht, eine Umleitung durchzuführen. Damit wird eine weitere Prüfung durchgeführt, ob ein HTTP-Refresh möglich ist. In manchen Browsern kann man den HTTP-Refresh deaktivieren. Je nach Bedarf kann es durchaus notwendig sein, festzustellen ob der HTTP-Refresh aktiviert sein. Sollte, wie in meinem Browser, Javascript und HTTP-Refresh deaktiviert sein, muß der Besucher auf einen Link klicken.
|