in den CGI-Umgebungsvariablen gibt es leider kein Parameter aus welchem man erkennen kann ob Javascript aktiviert ist oder nicht.
Ich möchte für meine Seite eine kleine Besucherstatistik schreiben, dort soll natürlich dann auch aufgelistet sein wieviel % der Besucher Javascript deaktiviert haben.
Ich habe mir schon Gedanken darüber gemacht und auch mich im Internet umgeschaut, aber all diese Varianten sind nicht das gelbe vom Ei.
Eine Möglichkeit wäre es eine Umleitung via Javascript auf eine andere Seite zu sratetn, oder mit einem Paramter im Link ?js=1.
Ich habe mir gedacht ich erstelle eine Javascript-Funktion, welche im Body via onload ausgeführt wird und diese eine Varible setzt..
Kann ich auf diese Variable mit Perl irgendwie zugreifen, um dann entsprechend reagieren zu können?
Oder habt ihr noch bessere Lösungsvorschläg zu meinem Problem?
Gruß
Gustl
+9 replies
pq
2011-06-06 21:03
User since 2003-08-04
12208
Artikel Admin1
setze ein cookie via javascript namens 'can_js'. das liest du dann mit perl aus.
Aber bis ich das Cookie erstellt habe ist die Seite serverseitig ja schon geladen. Ich sollte beim ersten Aufruf der Seite im Perlcode eine Info bekommen ob Javascript aktiviert ist oder nicht.
+7 replies
pq
2011-06-06 21:24
User since 2003-08-04
12208
Artikel Admin1
das geht nicht. der browser muss ja den aufruf schon gemacht haben und HTML zurückgeliefert bekommen, bevor er javascript ausführen kann. wenn du unbedingt den allerersten aufruf eines besuchers auch mitrechnen musst, dann musst du einen extra-request machen, mit ajax z.b.
ist die frage, ob der aufwand und extra traffic lohnt.
Im Sinne der Aufgabenstellung lohnt sich der kleine Aufwand mit Ajax, ca 10 Zeilen JavaScript in jeder Seite und eine halbe Seite Perl ;)
+5 replies
pq
2011-06-06 22:21
User since 2003-08-04
12208
Artikel Admin1
hm, oder man macht es umgekehrt und erstellt einen <noscript>-bereich, in dem z.b. ein bild geladen wird. das zeigt auf ein cgi-skript.
da vermutlich mehr leute javascript angeschaltet haben, sind das dann weniger requests.
musst du aber ausprobieren, ob das bild dann wirklich nur ohne javascript geladen wird.
Mit ajax kenne ich mich leider nicht aus... Hab nur ein wenig erfahrung mit javascript und jquery.
Die Idee mit dem Bild würde ich gerne mal probieren.
Wenn ein Bild geladen wird, welches auf ein perl-skript zeigt, wird dieses dann gestartet? oder wie geht das?
Eine Möglichkeit wäre es eine Umleitung via Javascript auf eine andere Seite zu sratetn, oder mit einem Paramter im Link ?js=1.
mit sowas wäre ich vorsichtig. ich habe neulich facebook ohne javascript aufgerufen (da ich facebook noch nie genutzt habe, hatte ich da keine verwendung für), und dort geriet ich in einen endlos-redirect. (scheint mittlerweile gefixt zu sein.) mit solchen spielereien kriegst du vielleicht eine tolle statistik, aber deine benutzer laufen dir scharenweise davon.