Counter mit JavaScript (an/aus)-Erfassung

Masaku

Mitglied
Hi, ich will mir 'nen einfachen Counter selbst schreiben und es soll auch ermittelt werden, ob der Client JavaScript aktiviert hat oder nich.

Bei den PHP- und Umgebungsvariablen hab ich nix gefunden, was mir darüber Aufschluss gibt.
Nun hab ich versucht, den Counter (heißt counter.php) mittels iFrame (mit der ID "counterIFrame") aufzurufen, wobei standardmäßig der Parameter "js" = 0 is und durch JS auf 1 gesetzt werden soll. Klappt aber nich, weil bei document.getElementById("counterIFrame") scheinbar Null zurückgegeben wird. Aber ich komm nich auf den Fehler.

Oder denk ich einfach nur zu kompliziert?
 
Hallo @Masaku

ich denke das gehört weniger in PHP als in Javascript.
Aber ich würde das mit dem <noscript>-Tag lösen.
So wird eine bestimmte Variable mitgegeben falls Javascript aktiv ist und sonst eben das normale ausgeführt.

Gruß Simon
 
Mit <noscript> hab ich's auch schon probiert. Aber ich hab keine Ahnung, wie ich die counter.php per JavaScript aufrufen kann.
Ich hab das Gefühl, dass mir da nur die JS-Kenntnisse fehlen...

Danke, wenn bis heut Abend keine Lösung kommt, werd ich's nommal im JS-Forum versuchen.
 
Hab dir Datei grad nich zur Hand (bin auf Arbeit) aber der Code war in etwa so:

<noscript>-Variante:
HTML:
<noscript>
<iframe src="counter_1.php"></iframe>
</noscript>
counter_1.php hat dann eben den Wert 0 in die Spalte "js" eingetragen.
Nur hab ich dann keine Möglichkeit gefunden, die counter_2.php per JS aufzurufen.

'ne zweite Variante war die oben beschriebene mit der ID.
HTML:
<script type="text/javascript">
document.getElementById("counterIFrame").src="counter.php?js=1";
</script>

<noscript>
<iframe src="counter.php?js=0"></iframe>
</noscript>
Hierbei sollte halt beim Aufruf der Wert übergeben und dann vom PHP-Script verarbeitet werden.

Ich hab bestimmt irgendwas vergessen, aber ich komm einfach nich drauf.

Mit AJAX hab ich noch keine Erfahrung. Wie eine AJAX-Lösung aussehen würde, weiß ich.
 
Zuletzt bearbeitet:
HTML:
<script type="text/javascript">
document.getElementById("counterIFrame").src="counter.php?js=1";
</script>

<noscript>
<iframe src="counter.php?js=0"></iframe>
</noscript>

Ist doch schon fast richtig, nur das du derm Iframe keine Id gegeben hast, so wie das Javascript sie haben will.

HTML:
<noscript>
<iframe src="counter.php?js=0" id="counterIFrame"></iframe>
</noscript>
wäre wohl die bessere Lösung (weiss jetzt aber nicht, ob das so auch funktioniert...)
 
Das IFrame hat 'ne ID, hab nur vergessen, die hinzuschreiben.
Hier der Quelltext, so wie ich ihn atm zu stehen haben.


Head:
HTML:
<script language="javascript" type="text/javascript">
 document.getElementById("counterIFrame").src="counter.php?js=1";
</script>

Body:
HTML:
<iframe id="counterIFrame" src="counter.php?js=0">
</iframe>

Geplant is halt, dass das Script den URL austauscht. Is kein JS aktiviert, bleibt's halt bei js=0.


edit: Hab's selber gelöst bekommen. Wie ich mir dachte, hat mir nur 'n kleines Detail gefehlt, und zwar die JS-write-Funktion.
Hab nun ein Script und ein Noscript-Tag nebeneinander welche beide ein iFrame ausgeben aber halt mit unterschiedlichen js-Parametern beim Scriptaufruf.
 
Zuletzt bearbeitet:
Zurück