Cybaer: Versteh ich nicht!

Beitrag lesen

Hi,

Das ist die Ressource, die beim ersten Request ausgeliefert wird.
Woher weiß da nun das PHP-Script auf dem Server, dass JavaScript eingeschaltet ist?
Ich verstehe trotz Deiner Ausführungen nicht, wie das mit einem einzigen generischen Request (über die Adressleiste des Browsers) möglich sein soll.

1. Der "generische Request" (Haupt-Script) erzeugt eine temporäre Datei und flusht HTML-Code der den Aufruf neuer Resourcen beinhaltet: OBJECT-Resource & EMBED-Resource - einmal als "normale" HTML-Elemente, einmal mit JS erzeugt, und einmal im NOSCRIPT-Bereich. Dabei werden dem "Fork-Script", das als Source angegeben wird, unterschiedliche Parameter übergeben: HTML->js=?, JS->js=on & NOSCRIPT->js=off, sowie natürlich der Name der temporären Datei.
2. Das Haupt-Script fragt nun in einer while-Schleife den Inhalt der temporären Datei ab (also das, was das Fork-Script jeweils loggt), und macht dabei immer mal ein "Nickerchen". ;-)
3. Das "Fork-Script" "loggt" seine jeweiligen Aufrufe nun in die temporäre Datei.
4. Wenn alle Ergebnisse der versch. "Fork-Resourcen" vorliegen, oder ein Timeout-Wert erreicht wurde, hat das Haupt-Script den Status des Clients aus dem "Log" ausgelesen: on/off/nix, beendet die Warteschleife, löscht die temporäre Datei, und kann mit dem eigentlichen Programm fortfahren (Ausgabe der eigentlichen HTML-Seite, Verarbeitung von Formulardaten, was-auch-immer) ...

Ein üblicher Multimedia-Browser (also alles seit Navigator 3) beherrscht im Gegensatz zu Bots oder "ungewöhnlichen" (im Sinne von "seltenen") Browsern entweder EMBED und/oder OBJECT (alternativ kann man natürlich auch das testen, was man halt konkret wissen will: z.B. kann der Browser Bilder darstellen, oder eben IFrames - Hauptsache, es handelt sich um (mindestens) eine weitere Resource). Ergebnis: Im Log erscheint ein "?" wenn es ein Multimedia-Browser ist.

Jetzt ist noch die Frage, ob die JS- oder die NOSCRIPT-Resourcen angefordert werden. Bei aktivem JS steht jetzt im "Log" auch "on", ohne "off".

Ein z.B. Bot-Request hängt ein wenig länger in der Warteschleife, halt bis der Timeout erreicht ist (wie man sieht, läuft der Test üblicherweise recht zügig durch, der Timeout-Wert kann also auch recht niedrig sein).

Bleibt noch ein Sonderfall IE, bei dem man einstellen kann, daß jedes JScript explizit um Erlaubnis bitten muß. Hier wird der Timeout aufgehoben, und das Haupt-Script wartet solange, bis der User dem JS die Erlaubnis gegeben, oder verweigert hat (mit entsprechendem Ergebnis, daß das Haupt-Script nach der Warteschleife verwenden kann).

Gruß, Cybaer

--
Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!