Ralph: Weiss PHP ob Javascript aktiviert ist ?

Hallo,
kann ich mit PHP irgendwie rauskriegen,
ob beim User Javascript aktiviert ist
oder muss ich das vorher abfragen
und dann eine Variable an die URI hängen?

Über $_SERVER[IRGENDWAS] geht es nicht, oder ?

Danke, Ralph

  1. Hallo

    Leider kann man mit PHP keine Plugins oder Browsereinstellungen abfragen.
    Desshalb kann man auch nicht überprüfen ob Javascript aktiv ist. Man kann aber mit Javascript alle Einstellungen abfragen und die mit der URL übergeben.

    Wie man das am Ende übergibt bleibt dir selber überlassen.

    mfg Fred

  2. Hi

    Über $_SERVER[IRGENDWAS] geht es nicht, oder ?

    Nein, JS ist clientseitig, da kommst du mit $_SERVER nicht weit. Du suchst die HTML-Tags <script></script> und <noscript></noscript>. Im noscript-Bereich kannst du dann eine Variable an die URI anhängen. Der script-Bereich wird natürlich nicht ausgeführt wenn JS deaktiv ist.

    Ungefähr so würde ich es machen:

      
    if($_GET['js']==true){  
     echo "<script>JavaScript-Befehle</script>";  
    }  
    elseif($_GET['js']==false){  
     echo "<noscript>NoScript-Befehle</noscript>";  
    }  
    
    

    Denke ich konnte helfen.
    Lutz

    1. Moin,

      Ungefähr so würde ich es machen:

      if($_GET['js']==true){
      echo "<script>JavaScript-Befehle</script>";
      }
      elseif($_GET['js']==false){
      echo "<noscript>NoScript-Befehle</noscript>";
      }

        
      hier ist die serverseitige Unterscheidung gänzlich überflüssig: <script> wird nur ausgeführt, wenn Scripting aktiviert ist. Wenn nicht, schaut der Browser selbsttätig in den <noscript>-Bereich.  
        
      Meistens benötigt man eigentlich keine serverseitige Unterscheidung. Wie beschrieben, kümmert sich bei obigem Schema der Browser selber darum. Außerdem sollte JavaScript keine Voraussetzung sein, sondern bestehendes sinnvoll erweitern, etwa wie bei `<form onreset="return window.confirm(...);" ...>`{:.language-html} und `<a href="/foo" onclick="window.open(this.href);return false;">...</a>`{:.language-html}: Hier sind Formular und Link ohne JavaScript voll funktionsfähig, jedoch mit JavaScript "bereichert" (worüber man da inbesondere beim Popup auch streiten könnte, aber darum geht's jetzt nicht). Auch hier ist keinerlei serverseitige Interaktion notwendig.  
        
      Tschau,  
      Martin
      
  3. Hi,

    oder muss ich das vorher abfragen
    und dann eine Variable an die URI hängen?

    Du kannst, zur Not im HEAD jeder Seite, ein JS einbinden, das nichts anderes macht, als zu schauen, ob im aktuellen URL ein Parameter "js" existiert und wenn nicht, die Seite mit diesem Parameter mittels replace() erneut anfordern. "js" ist dann via $_GET in PHP jeweils vorhanden - oder eben nicht.

    Es empfiehlt sich aber, die Last zu reduzieren, indem man den Wert speichert. ;-)

    Es empfiehlt sich *noch mehr*, gleich vernünftig zu coden, so daß solcherlei i.A. absolut unnötiger "Unfug" von vorneherein vermieden wird. ;)

    Gruß, Cybaer

    --
    Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!