Hanuta: Javadetection mit PHP, was haltet ihr hiervon?

Hi,
ich hab mir mal ein paar Gedanken gemacht - und wie immer kann es viel billiger sein als gedacht... Folgendes liegt im Header der index.php:

<HTML>
<HEAD>

<!-- Javascript aktiv? Wenn nein, mit refresh direkt zur ersten Seite leiten -->
<script type="text/javascript"><!--
 if ("<?php echo $javaaktiv; ?>" != "true") location.replace("<?php echo $PHP_SELF ?>?javaaktiv=true");
--></script>
<?php if (!$javaaktiv) echo "<META http-equiv="refresh" content="0; URL=noscript.php">"; ?>

<sonstige Metas>

</head>
<body>
JS aktiv, hier Script zum Preloaden u.ä.
</body>
</html>

Zu finden ist es hier: http://www.visualwebdesign.de/_site_test/index.php
Ich habe es soweit getestet, funzt alles prächtig. Gibt es Gründe das nicht einzusetzen? Das kommt mir ZU einfach vor ;-))

Gruß,
Stefan

  1. Doch, eins sehe ich grad wenn es online liegt: Bei nichtaktiviertem JS wird trotzdem ganz kurz der Body geladen und gezeigt, ich dachte ich hätte es mit refresh content=0,... zum sofortigen laden des noscripts angeregt... Hat einer ´ne Idee wie man ihn da bremsen könnte? Der Script im Body wird zwar eh in einem <script>-Bereich liegen, aber sauber finde ich es trotzdem nicht.

    CU
    Stefan

    1. warum nicht mit header:location?

      1. warum nicht mit header:location?

        Weil header("location: ); nicht mehr funktioniert, sobald schon HTML/JS-Code an den Browser geschickt wurde...

        1. warum nicht mit header:location?
          Weil header("location: ); nicht mehr funktioniert, sobald schon HTML/JS-Code an den Browser geschickt wurde...

          Hey,
          genau das ist leider das Problem. Obwohl ich mal über eine Möglichkeit gelesen habe, den abzusendenden Code in einen Puffer zu leiten... Mal gelesen... Wo auch immer :-(

          CU
          Stefan

          1. hi,

            Obwohl ich mal über eine Möglichkeit gelesen habe, den abzusendenden Code in einen Puffer zu leiten... Mal gelesen... Wo auch immer :-(

            ja, nur nützt dir das an dieser stelle rein gar nichts - weil der redirect dann _immer_ stattfindet, unabhängig davon, ob javascript nun aktiv ist oder nicht.

            gruß,
            wahsaga

            --
            "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
            1. ja, nur nützt dir das an dieser stelle rein gar nichts - weil der redirect dann _immer_ stattfindet, unabhängig davon, ob javascript nun aktiv ist oder nicht.

              Ach so, das bedeutet im Klartext dass _alle_ Ausgaben abgefangen werden? Inkl. dem JS-Replace?! Das wäre dann wirklich nicht wirklich sinnvoll ;-)

              1. hi,

                Ach so, das bedeutet im Klartext dass _alle_ Ausgaben abgefangen werden?

                ja, sofern der client den redirect berücksichtigt schon.
                die HTTP status codes 301 und 302 sind ja eine aufforderung an den client, einen weiteren request nach einer anderen ressource zu stellen.

                idR. sollten danach gar keine HTML-ausgaben mehr folgen, außer einem kurzen link auf die seite, auf die der redirect geht, http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html:

                The new permanent(301) / temporary(302) URI SHOULD be given by the Location field in the response. Unless the request method was HEAD, the entity of the response SHOULD contain a short hypertext note with a hyperlink to the new URI(s).

                gruß,
                wahsaga

                --
                "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
                1. ...dann kann ich header getrost wieder vergessen wie mir scheint, danke für die Erklärung.
                  Ja, mit dem Preloader ist es schon eine Sache für sich. Ist halt schon mehr eine Glaubensfrage scheint mir. Ich kann das Aagument "überhöhter Traffic" nicht akzeptieren, es sind ja Dateien, die bei einem Besuch meiner Seite ja sowieso geladen werden. Für die letzten armen 56k-User finde ich das schon eine nette Sache, da sind die Wartezeiten halt einfach transparenter. Und vom saubereren Seitenaufbau hat auch der 3MBit DSL-Mensch was... Ich finde Seiten, die einfach "da sind" wesentlich schöner als ein langwieriger Aufbau von Images und Menüs.

                  So long,
                  Stefan

                  1. Hi,

                    Ich finde Seiten, die einfach "da sind" wesentlich schöner als ein langwieriger Aufbau von Images und Menüs.

                    Das sind 56k-Nutzer abergewohnt.

                    Aber ich persönlich habe nichts gegen Preloader - aber doch nicht so'n Gewürge! =;-o

                    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"!
                    1. Und nochmal - und immer noch verschneit ;-))

                      Das sind 56k-Nutzer abergewohnt.

                      Aber wird es ihnen dann nicht doppelt positiv auffallen? Ist doch ein Weg sich ein bissel abzusetzen...

                      Aber ich persönlich habe nichts gegen Preloader - aber doch nicht so'n Gewürge! =;-o

                      Was meinst Du jetzt, die Detection oder den Wust des eigentlichen Preloaders?
                      Ich wollte es nach Möglichkeit einfach in eine seperate Datei packen. Und, BTW, wie handelst Du das mit der inzwischen eigentlich überflüssigen index.htm? Da könnte ich ja ansonsten fast schon die Homeseite einbauen :o) Andererseits liegt meine Seite ja getrennt in einem Unterpfad, da muss ich doch sowieso eine Umleitung haben?! Chaosrulez...

                      Noch viel Erfolg beim Schneemannbau!
                      CU Stefan

                      1. hi,

                        Das sind 56k-Nutzer abergewohnt.

                        Aber wird es ihnen dann nicht doppelt positiv auffallen? Ist doch ein Weg sich ein bissel abzusetzen...

                        also ich noch mit 56K gesurft bin, fielen mir immer die seiten am positivsten auf, die _wirklich_ schnell geladen waren - also auf eine vernünftige komprimierung von bildern etc. geachtet haben.

                        gruß,
                        wahsaga

                        --
                        "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
                        1. Hi,

                          also ich noch mit 56K gesurft bin, fielen mir immer die seiten am positivsten auf, die _wirklich_ schnell geladen waren - also auf eine vernünftige komprimierung von bildern etc. geachtet haben.

                          Dem wäre nichts hinzuzufügen. :)

                          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"!
  2. hi,

    Gibt es Gründe das nicht einzusetzen?

    ja, ein refresh per meta-tag mit 0 sekunden wartezeit zerstört die funktionalität des zurück-buttons.

    gruß,
    wahsaga

    --
    "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
    1. Moins,

      ja, ein refresh per meta-tag mit 0 sekunden wartezeit zerstört die funktionalität des zurück-buttons.

      Ich kann ihn ja auf 1sek setzen. Sollte ja zum Knöpfchen drücken ausreichen und die Verzögerung wäre akzeptabel.
      Gäbe es sonst noch einen Grund dagegen?

      Bye,
      Stefan

      1. Hi,

        Ich kann ihn ja auf 1sek setzen. Sollte ja zum Knöpfchen drücken ausreichen

        IMHO 2s!

        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"!
  3. Moin!

    Ich habe es soweit getestet, funzt alles prächtig. Gibt es Gründe das nicht einzusetzen? Das kommt mir ZU einfach vor ;-))

    Das nennst du einfach? Warum nutzt du nicht die Vorzüge von <noscript>? Das benötigt absolut keinerlei Serverinteraktion und auch kein bisschen Neuladen schon gesendeter Seiten, sondern funktioniert einfach immer.

    - Sven Rautenberg

    1. Hi Sven,

      ich möchte in der home.php kein Preloadzeugs stehen haben, auch nicht in noscript-tags. Viel lieber möchte ich das alles sauber über die index machen. Da habe ich auch kein Problem zu erkennen, ob Home nicht zum xten mal geladen wurde und fröhlich das Image zum 5ten Male runterlädt...

      CU
      Stefan

      1. hi,

        ich möchte in der home.php kein Preloadzeugs stehen haben,

        ach, um einen "preloader" geht es ... über deren (un)sinn solltest du vielleicht mal im archiv recherchieren.

        auch nicht in noscript-tags. Viel lieber möchte ich das alles sauber über die index machen. Da habe ich auch kein Problem zu erkennen, ob Home nicht zum xten mal geladen wurde und fröhlich das Image zum 5ten Male runterlädt...

        wäre aber auch nicht weiter tragisch, weil das image in den vier weiteren fällen nach dem ersten idR. bereits gecachet sein sollte.

        gruß,
        wahsaga

        --
        "Look, that's why there's rules, understand? So that you _think_ before you break 'em."