Überprüfen, ob Browser Javascript aktiviert hat

  • Hallo Leute.
    Kann man, vor dem Laden der Seite, überprüfen, ob ein Browser Javascript aktiviert hat?
    Ich nehme and mithilfe von Javascript macht das keinen Sinn oder? :D
    Geht das irgendwie? Ich möchte nämlich eine Seite basteln, die sowohl für Javascript Benutzer funktioniert, als auch für Leute, die das ausgestellt haben

  • ich glaube du kannst mir javascript einen cookie setzen lassen
    dann kannst du mit php testen, ob der keks gesetzt wurde : )

    Sei immer du selbst. Außer du kannst Batman sein. Sei immer Batman!

  • wiso einfach wenn es auch kompliezrt geht..

    man mache eine session. wo man reinschreibt js oder nicht,

    default ist nicht.

    dann setz man auf onLoad i body eine js function, wenn js an ist, wird durch diese funktion die seite neu geladen, und dabei ein parameter übergeben, welcher dann die session anpasst....

    das ist meiner meinung nach, der beste weg....

    man kann das ganze auchnoch mittles ajax verfeiner, aber dafür scheine hier die kennisse zu fehlen.

  • Moin!

    Zitat von GreenRover

    wiso einfach wenn es auch kompliezrt geht..

    Das wiederhole ich jetzt mal, weil es inhaltlich Sinn macht (Sorry, GreenRover).

      Setze eine Startseite, z.B. eben die index.html und dort einen Meta-Tag mit einer automatischen Weiterleitung nach z.B. nach 2 Sekunden auf index1.html.
      Zusätzlich baust du in den Seitenheader ein Javascript ein, welches die Seite sofort auf index2.html weiterleitet.

    Das ist die einfachste Möglichkeit einer Javascriptweiche, ganz ohne Cookies und ohne Session.

    Es gibt aber noch viele andere ebenso simple Methoden, z.B. (als Denkanstoß):

      - Einen Hinweistext "Du hast Javascript deaktiviert" in eine Div-box legen. Wenn JS aktiviert ist, dann änderst du den Style den div-Box beim Laden auf "display = none" und der Text verschwindet.

      - Bei Verweisen kannst du mit Javascript die Ziel-URL ändern, das führt dann dazu, daß das Anklicken eines Link bei aktiviertem Javascript auf eine ander Seite führt, als bei deaktiviertem JS. das bekommt der User gar nicht mit.

      - Du kannst auch an einen Verweis mit Javascript etwas anhängen, z.B. "main.php" wird umgewandelt in "main.php?js=on". Das wertest du dann mit PHP oder mit Javascript aus

      - In Formularen kannst du eine Hidden-Field einbauen und dort bei aktiviertem Javascript das value ändern, das ganze kannst du dann mit PHP auswerten.


    Es gibt noch mehr einfache Möglichkeiten um zu testen, ob jemand JS aktiviert hat, sei kreativ ;-).

    G.a.d.M.

    Ronald

  • Die Möglichkeiten hören sich recht gut an Ronald, jedoch macht es keinen Sinn, alles anschließend zweimal zu coden, da die Scripte ja auf index.php verweisen.. Somit müsste ich dann zu viel ändern, und das gleiche für die andere Version machen.
    Ich werde vorerst die Option mit den Cookies probieren.

  • Code
    <input type="hidden" name="js_akt" value="nein">
    
    
    <script type="text/javascript" language="JavaScript">
    <!--
    document.getElementsByName("js_akt")[0].value="ja";
    //-->
    </script>

    Nach dem Versenden kommt bei deiner index.php eine Variable "js_akt" an, die "ja" enthält, wenn Javascript aktiviert ist und "nein" wenn es deaktiviert ist.

    G.a.d.M.

    Ronald

  • Ich hab mal ein kleines Script zusammengebastelt, vielleicht kannst du damit etwas anfangen.
    Mann kann damit natürlich auch noch weitere Informationen übergeben, z.B. welche Bildschirmauflösung der User benutzt. Das ist praktisch, wenn mann eine passende Hintergrundgrafik auswählen will.

    Der Zähler "x" ist nötig, damit das Teil nicht zur Endlosschleife wird.

    Speichere es mal als index.php ab und probiere es aus.

    G.a.d.M.

    Ronald

  • hm, es funktioniert... :D
    Aber dennoch, müsste ich quasi zwei verschieden index.php in einer machen.
    einmal für if (!$js_akt) und einmal für if($js_akt) oder nicht?

  • Nun, es kommt darauf an, was du weiter vor hast.

    Dir steht jetzt eine Variable zur Verfügung, die du immer wieder auswerten kannst, d.h. deine index.php weiß jetzt, ob Javascript aktiviert ist oder nicht.

    Wenn du 2 Varianten der HP (mit/ohne JS) machen willst, dann kannst du das natürlich. Ich habe auf einer HP für einen Freund einfach eine Seite zugeschaltet, die den Besucher wird auffordert Javascript zu aktivieren oder er kann nicht online reservieren.

    Wie gesagt: was du letztlich mit der Information anfängst liegt bei dir, ich wollte nur kurz aufzeigen, wie es realisierbar ist.

    G.a.d.M.

    Ronald