Weiss PHP ob Javascript aktiviert ist ?
Ralph
- php
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
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
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
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
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