In PHP feststellen, ob Browser Java Skript aktiviert ist

Bash, Shell, PHP, Python, Perl, CGI
sirmark
Posts: 41
Joined: 2003-07-17 11:21
Location: Karlsruhe

In PHP feststellen, ob Browser Java Skript aktiviert ist

Post by sirmark »

Hallo!

Müsste in PHP wissen, ob der User JS aktiviert hat um ihn dann einen speziellen HTML-Code zu senden. Es scheint jedoch keine Funktion etc. zu geben, mit dem ich das fesstellen kann. Irre ich mich?

Lösungen habe ich zwar ein paar, bin aber mit keiner zufrieden. Könnte eine Variable mit JS setzen und erkennen, wenn die Var nicht mitkommt, dass JS deaktiviert ist. Ist aber ein viel Aufwand und ich habe teilweise im Projekt noch keine Session (wird erst später im Projekt angelegt).

Aber vielleicht hat jemand von Euch noch eine Lösung ...

Gruß + Danke!
arty
Userprojekt
Userprojekt
Posts: 729
Joined: 2002-06-12 10:11

Re: In PHP feststellen, ob Browser Java Skript aktiviert ist

Post by arty »

Mit PHP hast du keinen Zugriff auf den Browser und kannst also nicht feststellen, ob der Benutzer JavaScript aktiviert hat.

http://www.dclp-faq.de/q/q-funktion-php-js.html
http://www.dclp-faq.de/q/q-funktion-js-php.html

bye
arty
deanwickert
Posts: 77
Joined: 2003-05-13 23:20
Location: Lahnstein

Re: In PHP feststellen, ob Browser Java Skript aktiviert ist

Post by deanwickert »

Nun ja, einzigste Möglichkeit wäre eine Seite mit einer Javascript-Weiterleitung vorzuschalten. Wird weitergeleitet, ist JavaScript aktiviert.
duergner
Posts: 923
Joined: 2003-08-20 11:30
Location: Pittsburgh, PA, USA

Re: In PHP feststellen, ob Browser Java Skript aktiviert ist

Post by duergner »

Und wenn nicht kommt keiner mehr auf die Seite. Tolle Sache. Kann man die Seite denn net so aufbaun, dass das JavaScript einfach nur optional ist?
sirmark
Posts: 41
Joined: 2003-07-17 11:21
Location: Karlsruhe

Re: In PHP feststellen, ob Browser Java Skript aktiviert ist

Post by sirmark »

Leider können wir das nicht optional lösen. Müssten dann in diesem Fall komplett auf JS verzichten was hier unschön ist. Dummerweise tritt das Problem gleich auf der Startseite auf und ausser der HTTP-Anforderung weiss ich noch nichts über den User/Browser.
Für die Folgeseiten greife ich auf eine JS-Variable in PHP zu und kann so erkennen, ob JS aktiviert ist.

Mir spukt gerade die Möglichkeit von einem Frame im Kopf herum, da man bei jedem Unterframe schon einiges über den Kunden wissen sollte. Allerdings weigere ich mich doch bis zuletzt, Frames zu nutzen ...
deanwickert
Posts: 77
Joined: 2003-05-13 23:20
Location: Lahnstein

Re: In PHP feststellen, ob Browser Java Skript aktiviert ist

Post by deanwickert »

duergner wrote:Und wenn nicht kommt keiner mehr auf die Seite. Tolle Sache. Kann man die Seite denn net so aufbaun, dass das JavaScript einfach nur optional ist?
1. Kann man noch einen Link anbieten, für die Leutz ohne JavaScript.
2. Ich habe nicht gesagt, dass das ne gute Lösung ist.
duergner
Posts: 923
Joined: 2003-08-20 11:30
Location: Pittsburgh, PA, USA

Re: In PHP feststellen, ob Browser Java Skript aktiviert ist

Post by duergner »

sirmark wrote:Leider können wir das nicht optional lösen. Müssten dann in diesem Fall komplett auf JS verzichten was hier unschön ist. Dummerweise tritt das Problem gleich auf der Startseite auf und ausser der HTTP-Anforderung weiss ich noch nichts über den User/Browser.
Was bitteschön macht ihr denn da mit JS?
exekutor
Posts: 11
Joined: 2003-07-09 08:16

Re: In PHP feststellen, ob Browser Java Skript aktiviert ist

Post by exekutor »

Kann ja sein, dass ich annormal bin, aber ich konnte bis jetzt alle Aufgaben usw. ohne Einsatz von JS u.a. realisieren.

Greets Exe
neox
Posts: 4
Joined: 2003-12-27 12:41

Re: In PHP feststellen, ob Browser Java Skript aktiviert ist

Post by neox »

mach doch einfach nen

Code: Select all

<noscript>
<a href="hp.php?javascript=off">link zur seite ohne js</a>
</noscript>
unter das Javascript auf der Startseite, oder ein anderes.


PS: Soll echt keine Werbung sein aber ich hab nen ziemlich guten kostenlosen Editor entdeckt. Heißt http://www.pspad.com (is deutsch)

Cu nEox
heimdall
Posts: 13
Joined: 2002-08-13 14:59

Re: In PHP feststellen, ob Browser Java Skript aktiviert ist

Post by heimdall »

Irgendwo den Link reinstellen:

Code: Select all

<a href="page.php?js=off" onclick="window.open('page.php?js=on','_self'); return false;">SomeLink</a>
danach weisst du ob JavaScript an ist
wookie_23
Posts: 17
Joined: 2003-07-18 14:52

hi, auch ne lösung

Post by wookie_23 »

Code: Select all

<script language="Javascript">
<!--
statit = new Image(1,1);
statit.src = "doit.php?javascript=1";
//-->
</script><noscript>
<img src="doit.php" width=1 height=1>
</noscript>
so kann übrigens auch die bildschirmauflösung etc. ermittelt werden.
php weis jetzt ob javascript aktiviert ist.
wgot
Posts: 1675
Joined: 2003-07-06 02:03

Re: In PHP feststellen, ob Browser Java Skript aktiviert ist

Post by wgot »

Hallo,
sirmark wrote:Dummerweise tritt das Problem gleich auf der Startseite auf und ausser der HTTP-Anforderung weiss ich noch nichts über den User/Browser.
ob JS aktiviert ist, kann man nur erkennen, wenn der Browser eine entsprechend präparierte Seite Deiner Homepage aufruft. Im ersten Dokument hast Du keine Chance, die Info gibt's erst bei der zweiten Anforderung.

Damit die (echte) Startseite trotzdem index.php heißen kann, sollte man sie so aufbauen, daß sie beim Erstaufruf die Abfrage sendet und erst beim zweiten Aufruf die eigentliche Startseite.

Links zurück auf die Startseite sollten mit Ã?bergabe von js erfolgen.

index.php:

Code: Select all

<?php
if (isset($_REQUEST['js'])) { $js=$_REQUEST['js']; } else { $js=''; }
if ($js=='')
  {
?>   
<script language="JavaScript">
<!--
location.replace('index.php?js=1')
//-->
</script>
<noscript>
<meta http-equiv="refresh" content="0; URL=index.php?js=0">
</noscript>
<?php
    die;
  }
?>
<!-- ab hier die normale Startseite -->
<html>
<body>
JavaScript: <?php echo $js; ?><br>
</body>
</html>
Ausprobiert mit: Netscape 3, Netscape 4.7, Opera 7, Mozilla 1.5.

Gruß, Wolfgang
sirmark
Posts: 41
Joined: 2003-07-17 11:21
Location: Karlsruhe

Re: In PHP feststellen, ob Browser Java Skript aktiviert ist

Post by sirmark »

Danke für die Postings. Wir machen das jetzt in der Tat über den <noscript>-Bereich. Dann erscheint eine Meldung, dass kein Java aktiviert ist und der User durch Klick auf einen Button eine Seite ohne JS bekommt. Dem Button ist eine hidden-Var hinterlegt und gut.