jspit
Lounge-Member
Bekanntermaßen steht die Information ob JavaScript im Client aktiviert ist nicht direkt für PHP zur Verfügung. Die Information kann nützlich sein, wenn man z.B. nicht mit Weichen arbeiten will und zwei Versionen "mit" und "ohne" Javascript pflegen möchte.
Da diese Information nur clientseitig zur Verfügung steht, muss man überlegen wie sie zum Server übertragen wird.
Bei der hier beschriebenen Lösung wird bei aktivierten Javascript die Seite erneut aufgerufen und dabei per GET die Information mitgegeben:
Die Information wird in einer Session Variable gespeichert, damit diese besucherabhängig zur Verfügung steht.
$_SESSION['js_aktiv'] ist true wenn Javascript beim Client aktiviert ist und false wenn es deaktiviert ist.
Werden die Regeln für die Weitergabe der Session-ID beachtet, steht die Information ob Javascript beim Client aktiv ist auch für weitere Seiten zur Verfügung.
Da diese Information nur clientseitig zur Verfügung steht, muss man überlegen wie sie zum Server übertragen wird.
Bei der hier beschriebenen Lösung wird bei aktivierten Javascript die Seite erneut aufgerufen und dabei per GET die Information mitgegeben:
PHP:
session_start();
if(isset($_GET['js_aktiv']))$_SESSION['js_aktiv'] = ($_GET['js_aktiv'] == '1');
if($_SESSION['js_aktiv'] === NULL) {
echo '<script type="text/javascript">window.location="'.$_SERVER['PHP_SELF'].'?js_aktiv=1&'.htmlspecialchars(SID).'";</script>';
$_SESSION['js_aktiv'] = false;
}
echo $_SESSION['js_aktiv'] ? "JS Aktiv<br>" : "JS nicht aktiv<br>";
Die Information wird in einer Session Variable gespeichert, damit diese besucherabhängig zur Verfügung steht.
$_SESSION['js_aktiv'] ist true wenn Javascript beim Client aktiviert ist und false wenn es deaktiviert ist.
Werden die Regeln für die Weitergabe der Session-ID beachtet, steht die Information ob Javascript beim Client aktiv ist auch für weitere Seiten zur Verfügung.
Zuletzt bearbeitet: