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?
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
Überprüfen, ob Browser Javascript aktiviert hat
-
-
ich glaube du kannst mir javascript einen cookie setzen lassen
dann kannst du mit php testen, ob der keks gesetzt wurde : ) -
mmhhh....
Das wäre natürlich eine Idee.
Aber würde das noch VOR dem Seitenaufbau passieren? -
wenn man es richtig macht ja (musst halt ganz am anfang machen)
-
Hmm
Ich melde mich, wenn ichs hingekriegt hab..... -
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 GreenRoverwiso 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
-
Ronald ronald, aber ohne startseite ?! aber hast recht, einfach kreativ sein...
-
Du kannst ja auch entsprechende Iframes von der Startseite aus laden und die Startseite selbst (index.html) muß ja keine eigenen Inhalte haben ....
Gute Nacht!
-
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
-
Also wär dann die Seite, die zum Beispiel normalerweise index.php?s=news index.php?js_akt=ja&s=news ?
-
Wenn du die Get-Variante benutzt ja, bei der Post-Variante siehst du es ja nicht.
-
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.
PHP
Alles anzeigen<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> </head> <body> <form action="index.php" name="index" method="post"> <?php extract($_POST); $x++; ?> <input type='hidden' name='js_akt' value='<?echo $js_akt?>'> <input type='hidden' name='x' value='<?echo $x?>'> <script type="text/javascript" language="JavaScript"> <!-- if(!document.getElementsByName("js_akt")[0].value) { document.getElementsByName("js_akt")[0].value = "ja"; document.index.submit(); } //--> </script> </form> <? $x == 1 ? $jstext = "de" : $jstext =""; if(!$js_akt) $js_akt ="nein"; echo "Die index.php wurde $x x geladen, Javascript ist ".$jstext."aktiviert. Die Variable \"js_akt\" enthält den Wert \"$js_akt\"."; ## hier folgt dann deine weitere index.php wie gehabt, ## nur daß du nun zusätzlich die Variable "js_akt" hast, ## die dir sagt, ob der User Javascript aktiviert hat, ## oder nicht. ?> </body> </html>
Speichere es mal als index.php ab und probiere es aus.
G.a.d.M.
Ronald
-
hm, es funktioniert...
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? -
ja an sich schon....
aber wiso den nicht nur eien version ?! ca 99% aller inet user haben js an und wenn du 100% willst, ann halt ohne js.
-
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