Sven Rautenberg: JavaScriptaktivierung in Textdatei speichern

Beitrag lesen

Moin!

Ich möchte mit Hilfe einer Textdatei speichern, ob der jeweilige User, der sich gerade auf meiner Webseite aufhält JavaScript in seinen Browser aktiviert hat oder deaktiviert hat.
das geht nicht, da javascript clientseitig abläuft php aber auf dem Server.

Das geht sehr wohl. Es gibt tausend Möglichkeiten, wie der Server in Erfahrung bringen kann, ob auf dem Client Javascript läuft.

Beispielsweise so:

<script type="text/javascript" source="detector.php"></script>

detector.php:

<?php
header("Content-type: text/javascript");

Irgendwas ausgeben, beispielsweise einen dummen Javascript-Kommentar:

echo "// What do you expect here?";

#... und hier dann die Tatsache, dass der Client Javascript kann, vermerken.

Das Problem ist nur, diese Information dann an einer zentralen Stelle zusammenzuführen. Üblicherweise kriegt man es nämlich nur in Sessions (oder mit Session-ähnlichen Mechanismen) hin, die Information "Client kann Javascript" zum nächsten Script durchzureichen. Die erste aufgerufene Seite besitzt die Information, dass der Client Javascript kann, definitiv noch _nicht_. Hier gilt in der Tat die Reihenfolge, dass zuerst auf dem Server PHP aktiv ist, und danach auf dem Client Javascript. Aber sobald (wie oben als Beispiel genannt) der Client dem Server wieder Informationen zurückschickt, können diese für weitere Requests genutzt werden.

Ach ja, beim Verfolgen von Links könnte man das übrigens ganz banal rausfinden, indem man so vorgeht:
<a href="normaleseite.php" onclick="location.href='normaleseite.php?js=on'; return false;">Ein Link</a>

Auf diese Weise kriegt die neue Seite mit, ob Javascript zur Verfügung steht. Aber wie gesagt: Das kann frühestens der zweite Request herausfinden.

- Sven Rautenberg

--
"Bei einer Geschichte gibt es immer vier Seiten: Deine Seite, ihre Seite, die Wahrheit und das, was wirklich passiert ist." (Rousseau)