ekkes: Weiterleitung W3C

Hallo Forum,

nachdem ich im letzten halben Jahr als Newbie viele Information im Selfforum gefunden habe, hier nun mein letztes ungelöstes Problem:

Nach W3C ist es nicht erlaubt, den Browser per META-Tag an eine andere URL weiterzuleiten. Genau das mache ich aber im Header meiner Website. Falls bei Netscape-Browser JavaScript deaktiviert ist, wird der Besucher im Non-Script-Bereich per META-Tag zu einer anderen URL geleitet, die kein Java-Script benötigt.

Dies hat zur Folge, daß meine Hompage für Netscape-Browser die W3C-Norm nicht erfüllt. Gibt es eine Möglichkeit, die JavaScript-Fähigkeit eines Browsers per PHP vor dem 1. Senden einer Header-Information zu erfragen? Oder gibt es sonst eine Lösung für dieses Problem?

Wer Lust hat, darf auch gerne ein Urteil über meine Website abgeben. Negative Kritik ist erwünscht. Die Site ist jedoch gerade in Überarbeitung. Vom neuen Design sind eigentlich erst 3 Bereiche fertig.

<a href="http://www.espasingen.de/" target="_blank">Eingangstunnel</a>
<a href="http://www.espasingen.de/home.php3" target="_blank">Startseite</a>
<a href="http://www.espasingen.de/mve1.php3" target="_blank">Beispiel für Inhalt</a>

Alle anderen Bereiche haben zwar mehr oder weniger Inhalt, beruhen jedoch noch auf dem alten Layout.

Vielen Dank für Eure Hilfe bei meinem W3C-Problem und für Euer Urteil.

Gruß ekkes

  1. hi

    Nach W3C ist es nicht erlaubt, den Browser per META-Tag an eine andere URL weiterzuleiten. Genau das mache ich aber im Header meiner Website. Falls bei Netscape-Browser JavaScript deaktiviert ist, wird der Besucher im Non-Script-Bereich per META-Tag zu einer anderen URL geleitet, die kein Java-Script benötigt.

    wäre mir neu - was hast du da oben stehen, was dem Vali nicht gefällt?

    Grüße aus Bleckede

    Kai

    1. Hi Kai,

      folgendes steht in meinem Head:

      <script language="JavaScript" type="text/javascript">
        <!--
         NichtFramen(); Statuszeile(); var startbreite = window.innerWidth; var starthoehe = window.innerHeight;
        //-->
        </script>
        <noscript>
         <meta http-equiv="refresh" content="0;url=hometext.htm">
        </noscript>

      Danke für deine Antwort

      ekkes

      1. Hi,

        <script language="JavaScript" type="text/javascript">

        ... und gegen welchen DOCTYPE willst Du valide sein?

        Viele Grüße
              Michael

      2. Hi Ekkes,

        meine Güte, heute wird aber auch im Nebel gestochert ;-) - dabei ist das Problem ein ganz anderes:

        <noscript> ... </noscript> ist im Head nicht erlaubt. Etwas derartiges ginge dagegen prima:

        <script type="text/javascript">
        <!--
        location.replace('seite_mit_js.htm');
        //-->
        </script>
        <meta http-equiv="refresh" content="0;url=seite_ohne_js.htm">

        Grüße,

        Utz

  2. Nach W3C ist es nicht erlaubt, den Browser per META-Tag an eine andere URL weiterzuleiten.

    Nanu, wo steht denn das?

    Dies hat zur Folge, daß meine Hompage für Netscape-Browser die W3C-Norm nicht erfüllt.

    Welche von denn vielen denn? Alleine für HTML fallen mir sechs Stück ein :)

    Gibt es eine Möglichkeit, die JavaScript-Fähigkeit eines Browsers per PHP vor dem 1. Senden einer Header-Information zu erfragen? Oder gibt es sonst eine Lösung für dieses Problem?

    Da Du PHP benutzen kannst, hast Du auch Zugriff auf das HTTP-Protokol und somit mußt Du auch garnicht auf Behelfsmittelchen wie meta oder Javascript zurückgreifen.

    Für Deinen Wunsch einer Weiterleitung gibt es einen ganzen Satz an HTTP-Statuscodes, such Dir was passendes aus: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3

    Einbinden tust Du das dann mittels PHP folgendermaßen (Beispiel):

    header("Status: 301 Moved Permanently");

    Alternativ auch:

    header("HTTP/1.0 301 Moved Permanently");

    Ergebnis ist dasselbe, letztere scheint aber ab PHP 4.2 nicht immer zu funktionieren (ich hab's nur gehört, noch nicht selber getestet).
    Und dran denken: header() _vor_ jeglicher sonstiger Ausgabe aufrufen.

    Wer Lust hat, darf auch gerne ein Urteil über meine Website abgeben. Negative Kritik ist erwünscht. Die Site ist jedoch gerade in Überarbeitung. Vom neuen Design sind eigentlich erst 3 Bereiche fertig.

    http://www.espasingen.de/
    "Sie surfen weder mit einem Netscape, noch mit einem Microsoft Browser der neueren Generation." - Das ist zwar richtig, aber mein Mozilla kann trotzdem mehr als die beiden zusammen :) Javascript ist ebenfalls eingeschaltet.

    http://www.espasingen.de/home.php3
    Nur mal interessehalber: Warum geht's von da weiter zu /hometext.htm?

    Davon abgesehen ist mir die Schrift viiiiiel zu klein, das dürfte ein oder zwei Pixel über der hardwaremäßigen Mindestlesbarkeitsgrenze sein.
    Die Aufmachung ist auch etwas sehr schlicht, grauer Hintergrund und darauf schwarzer Text in einem Rutsch runtergschrieben. Also farblich nicht sonderlich ansprechend und absolut keine Seitenstruktur vorhanden.
    Ich befürchte aber mal, daß ich da wegen oben genannter falscher Annahme irgendeine Spezialseite für Lynx zu sehen bekomme?

    Gruß,
      soenk.e

    1. Hallo soenk,

      danke für Deine sehr interessante Antwort in allen Bereichen, also Weiterleitung und Design. Da steckt viel Information drin. Daran muß ich erst mal knabbern.

      Du hast mir ein paar tolle Ansatzpunkte gegeben.
      Danke Dir dafür.

      Grüße vom Bodensee
      ekkes

  3. Hi,

    Nach W3C ist es nicht erlaubt, den Browser per META-Tag an eine andere URL weiterzuleiten. Genau das mache ich aber im Header meiner Website.

    stelle dir zuerst die Frage, warum - und vor allem ob - das notwendig ist. Ich sehe absolut keinen Grund.

    Dies hat zur Folge, daß meine Hompage für Netscape-Browser die W3C-Norm nicht erfüllt.

    Das hat nichts mit irgendeinem Browser zu tun. Entweder eine Seite ist valide oder nicht.

    Gibt es eine Möglichkeit, die JavaScript-Fähigkeit eines Browsers per PHP vor dem 1. Senden einer Header-Information zu erfragen?

    Nein.

    Oder gibt es sonst eine Lösung für dieses Problem?

    Ja, setze Javascript nicht voraus.

    Wer Lust hat, darf auch gerne ein Urteil über meine Website abgeben. Negative Kritik ist erwünscht.

    "Sie surfen weder mit einem Netscape, noch mit einem Microsoft
       Browser der neueren Generation."

    Huch! Wusste ich ja gar nicht... ob das einen Grund hat? ;) Übrigens wird diese Meldung auch Mozilla-Usern vor den Latz geknallt. Du weißt, dass Netscape >= 6 eigentlich ein AOL-Mozilla ist?

    "Dadurch erhalten Sie eine vereinfachte Darstellung dieser
       Internetseite."

    Ist dir bewusst, dass Opera, Mozilla, Konqueror usw. Webseiten wesentlich besser rendern als der IE?

    "Diese Internetseite ist für Ihren Browser, den Microsoft
       Internetexplorer 6.x und Windows, optimiert!"

    -> "Alle anderen Besucher sind mir herzlich egal, auch wenn sie
        30% ausmachen sollten"

    Da habe ich wenig Lust, mir die Seiten genauer anzusehen. Es ist nicht zu entschuldigen, Besucher, die aus gutem Grund nicht den IE verwenden, so im Regen stehen zu lassen.

    Die bunten Elemente links und rechts stören den sonst dezenten Gesamteindruck.

    Hart aber herzlich
    Orlando

    --
    SELF-TREFFEN 2002
    http://www.rtbg.de/selftreffen/
    http://www.megpalffy.org/temp/penneninhh.html

    1. Hi Orlando,

      danke auch dir für Deine Antwort. Ich komme zum Schluß, daß ich das Problem mit der Browserkennung wahrscheinlich falsch angepackt habe.

      Frage: Ziel meiner Übung war es, die Website für alle Netscape und Explorer-User ab der Version 4.0 zu optimieren. Da meine WebSite auf JavaScript angewiesen ist, wollte ich vorne weg abklären, ob er aktiviert ist. Alles andere erhält eine einfache Textversion mit den gleichen Informationen wie die Netscape und Explorer-User.

      Nun mag sein, mein Ansatz ist falsch. Kannst Du mir einen Tip geben?

      Vielen Dank nochmals
      ekkes

      1. hallo ekkes,

        Da meine WebSite auf JavaScript angewiesen ist, wollte ich vorne weg abklären, ob er aktiviert ist.

        Orlando hat dir schon gesagt, daß das mit einer einfachen Javascript-Funktion geht. Dazu schreibst du in den Headerbereich deiner Datei einfach ungefähr sowas:
        <script language="javascript">
        function edit(){
        top.location.href="neueSeite.htm"
        }
        </script>

        und im body schreibst du:
        <body onload="edit()">

        Damit wird jeder Browser (gleichgültig ob Netscape oder IE oder sonstwas) für den Javascript aktiviert ist, sofort auf die "neueSeite" weitergeleitet (die soviel Javascript enthalten darf, wie du möchtest) und zeigt gar nicht erst, was du sonst noch auf der Seite stehen hast. Du brauchst also keine "Textversion", sondern kannst dann deinen Inhalt in den restlichen body-Bereich schreiben.

        Grüße aus Berlin

        Christoph S.

        1. Hallo Christoph,

          hab das Problem wohl am Schwanz angepackt. Werde mir Deinen Tip zu Herzen nehmen und die Sache umdrehen. Also zuerst einfache Version und über Deine Lösung per OnLoad "alle" JS-fähigen Broser weiterleiten.

          Herzlichen Dank für den Tip.

          Ich hab mir im letzten Halben Jahr so einiges angeeignet, aber auf den Lösungsansatz wäre ich nieeeeeee... gekommen. Also vielen Dank und

          viele Grüße vom Bodensee

      2. Hi ekkes,

        danke auch dir für Deine Antwort. Ich komme zum Schluß, daß ich das Problem mit der Browserkennung wahrscheinlich falsch angepackt habe.

        Du benötigst schlicht keine. Wenn du mangelhafte Browser vor deinen Scripts schützen willst, mache das in den Scripts selbst. Die von dir verwendeten bieten ohnehin nur Funktionalität, auf die deine Seiten nicht angewiesen sind. Wie man Browser abfragt, kannst du dir in http://selfhtml.teamone.de/dhtml/beispiele/dhtml_bibliothek.htm#quelltext in den ersten Zeilen nachlesen. Nur ist das bei dir absolut nicht notwendig.

        Frage: Ziel meiner Übung war es, die Website für alle Netscape und Explorer-User ab der Version 4.0 zu optimieren. Da meine WebSite auf JavaScript angewiesen ist,

        Das ist sie nicht. Wie kommst du darauf?

        wollte ich vorne weg abklären, ob er aktiviert ist.

        Wenn JS deaktiviert ist, wird es auch nicht ausgeführt. Das ist Prüfung genug.

        Alles andere erhält eine einfache Textversion mit den gleichen Informationen wie die Netscape und Explorer-User.

        Mir ist diese Version sogar recht symphatisch, sie wirkt nicht so grell.

        Nun mag sein, mein Ansatz ist falsch. Kannst Du mir einen Tip geben?

        Browserweichen sind immer unzuverlässig, lasse sie besser weg.

        LG Orlando

        --
        SELF-TREFFEN 2002
        http://www.rtbg.de/selftreffen/
        http://www.megpalffy.org/temp/penneninhh.html

  4. Hallo,

    da es bei der vollkommen "richtigen" Entwicklung des Threads (auch hier mal ein Lob an Dich ,-)) vielleicht untergeht, was Michael ganz unten meinte, und was den validator zum meckern bringt. Einen JS-Scriptbereich leitet man nicht mit language ein, daß ist nicht Stadard. Versuche es mal mit

    <script type="text/javascript">

    Weiteres findest Du unter:

    http://selfhtml.teamone.de/html/transit/scripts.htm#definieren

    und da weiter unten unter "Beachten Sie"....

    Chräcker

    http://www.Stempelgeheimnis.de

    --
    SELF-TREFFEN 2002
    http://www.rtbg.de/selftreffen/
    http://www.megpalffy.org/temp/penneninhh.html