Armin: HTML im Head

Hallo zusammen,
Gibts eigentlich  einen Grund, warum im Head kein HTML stehen sollte?

Funktionieren tuts ja eigentlich trotzdem, auch wenn die Daten nicht im BodyTag stehen, sondern davor, siehe
http://www.lepiforum.de/cgi-bin/lepiwiki.pl

Danke vorab und Gruss
ad

  1. Gibts eigentlich  einen Grund, warum im Head kein HTML stehen sollte?

    Weil das so die Vorschrift ist, die iwann mal festgelegt wurde. D.h. dass die Browserhersteller deinem Code den Fehler zwar verzeihen, das aber auch jederzeit lassen können ohne in Schwierigkeiten zu kommen :)

  2. Mahlzeit,

    Hallo zusammen,
    Gibts eigentlich  einen Grund, warum im Head kein HTML stehen sollte?

    Ja.

    Funktionieren tuts ja eigentlich trotzdem, auch wenn die Daten nicht im BodyTag stehen, sondern davor, siehe

    Sicher. Wenn der Browser so gnädig ist und über die Fehler hinwegsieht. Allerdings weiß man nie, WAS GENAU der Browser aus ungültiger Tag-Suppe macht - oder ob er überhaupt was macht. Schließlich muss er das nicht. Jedenfalls nicht, wenn's kein gültiges HTML ist.

    Es funktioniert unter Umständen auch, wenn ich auf einen Brief die Anschrift hochkant auf die Rückseite in mittelgrau auf hellgrau schreibe. Vielleicht. Aber wieso den Sortiermaschinen bzw. Postmitarbeitern die Arbeit unnötig schwer machen und das Risiko eingehen, dass der Brief nicht ankommt?

    Wieso also dem Browser die Arbeit unnötig schwer machen und riskieren, dass der Benutzer nicht das sieht, was der Autor gern möchte?

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
  3. Yerf!

    Funktionieren tuts ja eigentlich trotzdem, auch wenn die Daten nicht im BodyTag stehen, sondern davor, siehe
    http://www.lepiforum.de/cgi-bin/lepiwiki.pl

    Das funktioniert aber nicht so, wie du es dir denkst. Ein HTML-Validator wird dir sagen, was passiert: Durch das erste Element, das nicht im HEAD stehen darf wird dieser imlizit geschlossen und der BODY geöffnet. Die späteren </head><body> Tags werden als fehlerhaft ignoriert (Der HEAD ist ja schon zu und in einem BODY darf kein zweiter sein...)

    Gruß,

    Harlequin

    --
    <!--[if IE]>This page is best viewed with a webbrowser. Get one today!<![endif]-->
  4. Hi,

    Funktionieren tuts ja eigentlich trotzdem, auch wenn die Daten nicht im BodyTag stehen, sondern davor,

    Die HEAD-Tags sind optional. Die BODY-Tags ebenso. Die HTML-Tags übrigens auch.

    <title></title>
    Text

    ist ein korrektes HTML-Dokument (TITLE-Tags sind *nicht* optional).

    Wenn Du nach dem "Text" einen HEAD-Endtag oder ein BODY-Starttag einfügst, ist das falsches HTML - der BODY beginnt bereits automatisch mit "Text".

    Soweit die Theorie, um diese Praxis zu erklären. Aber: Text *vor* dem TITLE-Element dürfte eigentlich nicht angezeigt werden. Es gibt dennoch AFAIK keinen HTML-Browser, der sich jemals an diese Vorschrift gehalten hätte (übrigens ein Grund, warum Script- und CSS-Code im HEAD auskommentiert wird: Browser, die SCRIPT und STYLE nicht interpretieren, stellen den Code als Inhalt dar).

    Also: gut zu wissen, daß dem so ist, aber einen Vorteil hat man durch diesen Unsinn ja ohnehin nicht.

    Gruß, Cybaer

    --
    Man kann doch sehr leicht jenen tugendhaften Menschen begegnen, (...) die eine Art "unkrümmbaren Zeigefinger" besitzen, der ständig den kalten Wind des Rechthabens ausströmt. (Wolfgang Huber, Bischof)
    Die Tugend jagt nicht den Teufel, sondern den Sündhaften. Damit wird sie zum Terror. (Hans-Ulrich Jörges, Journalist)
    1. Mahlzeit,

      Die HEAD-Tags sind optional. Die BODY-Tags ebenso. Die HTML-Tags übrigens auch.

      <title></title>
      Text

      ist ein korrektes HTML-Dokument (TITLE-Tags sind *nicht* optional).

      Nicht nach "HTML Strict" ... ;-)

      MfG,
      EKKi

      --
      sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
      1. @@EKKi:

        Die HEAD-Tags sind optional. Die BODY-Tags ebenso. Die HTML-Tags übrigens auch. […] (TITLE-Tags sind *nicht* optional).

        Nicht nach "HTML Strict" ... ;-)

        Doch, auch in HTML 4.01 Strict. Sowohl Start- und Endtags der 'html'-, 'head'- und 'body'-Elemente sind optional. Weder Start- noch Endtag des 'title'-Elements sind optional.

        Lesen macht klug. ;-)

        Live long and prosper,
        Gunnar

        --
        „Das Internet ist ein großer Misthaufen, in dem man allerdings auch kleine Schätze und Perlen finden kann.“ (Joseph Weizenbaum)
        1. Mahlzeit,

          Doch, auch in HTML 4.01 Strict. Sowohl Start- und Endtags der 'html'-, 'head'- und 'body'-Elemente sind optional. Weder Start- noch Endtag des 'title'-Elements sind optional.

          Komisch - der Validator sagt zu Folgendem "This page is not Valid HTML 4.01 Strict!" (wenn ich den entsprechenden DOCTYPE angebe):

          -----8<-----8<-----8<-----
          <title></title>
          Text
          ----->8----->8----->8-----

          Lesen macht klug. ;-)

          Dann hat der Validator die DTD wohl nicht aufmerksam genug gelesen ... ;-)

          MfG,
          EKKi

          --
          sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
          1. @@EKKi:

            "This page is not Valid HTML 4.01 Strict!"

            -----8<-----8<-----8<-----
            <title></title>
            Text
            ----->8----->8----->8-----

            Lesen macht klug. ;-)

            Dann hat der Validator die DTD wohl nicht aufmerksam genug gelesen ... ;-)

            Doch, hat er. Du auch? ;-)

            Siehe https://forum.selfhtml.org/?t=166324&m=1084806 oben.

            Live long and prosper,
            Gunnar

            --
            „Das Internet ist ein großer Misthaufen, in dem man allerdings auch kleine Schätze und Perlen finden kann.“ (Joseph Weizenbaum)
            1. Mahlzeit,

              "This page is not Valid HTML 4.01 Strict!"

              -----8<-----8<-----8<-----
              <title></title>
              Text
              ----->8----->8----->8-----

              Lesen macht klug. ;-)

              Dann hat der Validator die DTD wohl nicht aufmerksam genug gelesen ... ;-)

              Doch, hat er. Du auch? ;-)

              Sicher. Deswegen hab ich ja auch behauptet, dass obiges Code-Beispiel von Cybaer eben KEIN gültiges HTML 4.01 Strict ist. Dem hast Du widersprochen - und das ist und bleibt falsch. Es ist KEIN gültiges HTML 4.01 Strict.

              Siehe https://forum.selfhtml.org/?t=166324&m=1084806 oben.

              Huch? An der Stelle siehst Du das ja genauso wie ich - wieso bist Du dann hier anderer Ansicht?

              MfG,
              EKKi

              --
              sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
              1. @@EKKi:

                Sicher. Deswegen hab ich ja auch behauptet, dass obiges Code-Beispiel von Cybaer eben KEIN gültiges HTML 4.01 Strict ist. Dem hast Du widersprochen

                Nö. Ich hatte deiner Antwort "Nicht nach "HTML Strict" auf "Die HEAD-Tags sind optional. Die BODY-Tags ebenso. Die HTML-Tags übrigens auch. [...] TITLE-Tags sind *nicht* optional" widersprochen.

                Dachte ich jedenfalls. Wenn du "Nicht nach "HTML Strict" auf "'<title></title>Text' ist ein korrektes HTML-Dokument" bezogen haben wolltest, hättest du etwas besser zitieren sollen.

                Live long and prosper,
                Gunnar

                --
                „Das Internet ist ein großer Misthaufen, in dem man allerdings auch kleine Schätze und Perlen finden kann.“ (Joseph Weizenbaum)
                1. Mahlzeit,

                  Dachte ich jedenfalls. Wenn du "Nicht nach "HTML Strict" auf "'<title></title>Text' ist ein korrektes HTML-Dokument" bezogen haben wolltest, hättest du etwas besser zitieren sollen.

                  Hm ... ich habe mein "Nicht nach "HTML Strict"" eigentlich auf den letzten vollständigen zitierten Satz bezogen - und das war "'<title></title>Text' ist ein korrektes HTML-Dokument".

                  Aber egal. Das nächste mal zitiere ich vielleicht besser ...

                  MfG,
                  EKKi

                  --
                  sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
          2. Hi,

            Komisch - der Validator sagt zu Folgendem "This page is not Valid HTML 4.01 Strict!" (wenn ich den entsprechenden DOCTYPE angebe):

            In 4.01 Strict darf der BODY keinen Textknoten haben! Packe "Text" in ein DIV-Element, und es paßt (oder der Validator arbeitet falsch).

            Gruß, Cybaer

            --
            Man kann doch sehr leicht jenen tugendhaften Menschen begegnen, (...) die eine Art "unkrümmbaren Zeigefinger" besitzen, der ständig den kalten Wind des Rechthabens ausströmt. (Wolfgang Huber, Bischof)
            Die Tugend jagt nicht den Teufel, sondern den Sündhaften. Damit wird sie zum Terror. (Hans-Ulrich Jörges, Journalist)
            1. Mahlzeit,

              Komisch - der Validator sagt zu Folgendem "This page is not Valid HTML 4.01 Strict!" (wenn ich den entsprechenden DOCTYPE angebe):

              In 4.01 Strict darf der BODY keinen Textknoten haben! Packe "Text" in ein DIV-Element, und es paßt (oder der Validator arbeitet falsch).

              Wieso sollte ich? Das Beispiel war doch von Dir ... ;-)

              MfG,
              EKKi

              --
              sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
              1. Hi,

                Wieso sollte ich? Das Beispiel war doch von Dir ... ;-)

                Ja - und es war gültiges HTML. Und für 4.01 strict ist das andere Beispiel gültig. ;-)

                Gruß, Cybaer

                --
                Man kann doch sehr leicht jenen tugendhaften Menschen begegnen, (...) die eine Art "unkrümmbaren Zeigefinger" besitzen, der ständig den kalten Wind des Rechthabens ausströmt. (Wolfgang Huber, Bischof)
                Die Tugend jagt nicht den Teufel, sondern den Sündhaften. Damit wird sie zum Terror. (Hans-Ulrich Jörges, Journalist)
    2. @@Cybaer:

      Browser, die SCRIPT und STYLE nicht interpretieren, stellen den Code als Inhalt dar).

      Und wieder einmal „vergaßest“ du zu erwähnen, dass es solche Browser nicht mehr gibt und die Auskommentierung deshalb völlig überflüssig ist.

      Live long and prosper,
      Gunnar

      --
      „Das Internet ist ein großer Misthaufen, in dem man allerdings auch kleine Schätze und Perlen finden kann.“ (Joseph Weizenbaum)
      1. Hi,

        Und wieder einmal „vergaßest“ du zu erwähnen, dass es solche Browser nicht mehr gibt und die Auskommentierung deshalb völlig überflüssig ist.

        Ist ja gut. Ich weiß doch, daß Du alles weißt und den vollen Überblick hast. Ich kann da nicht mithalten, und verweise lieber nur auf unsere letzte diesbezügl. Diskussion im Archiv, wo ich Gegenbeispiele nannte ... =:-)

        Gruß, Cybaer

        --
        Man kann doch sehr leicht jenen tugendhaften Menschen begegnen, (...) die eine Art "unkrümmbaren Zeigefinger" besitzen, der ständig den kalten Wind des Rechthabens ausströmt. (Wolfgang Huber, Bischof)
        Die Tugend jagt nicht den Teufel, sondern den Sündhaften. Damit wird sie zum Terror. (Hans-Ulrich Jörges, Journalist)
      2. Mahlzeit,

        Und wieder einmal „vergaßest“ du zu erwähnen, dass es solche Browser nicht mehr gibt und die Auskommentierung deshalb völlig überflüssig ist.

        Mitnichten! Es gibt sie noch[*] ... zwar selten "in the wild" und deshalb vernünftigerweise vernachlässigbar - aber ihre durchaus vorhandene Existenz zu verleugnen halte ich für sehr gewagt und unzulässig. :-)

        MfG,
        EKKi

        [*] Z.B. als Archiv auf einer meiner Platten ;-)

        --
        sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
        1. Hi,

          Mitnichten! Es gibt sie noch[*] ... zwar selten "in the wild" und deshalb vernünftigerweise vernachlässigbar - aber ihre durchaus vorhandene Existenz zu verleugnen halte ich für sehr gewagt und unzulässig. :-)

          Ich habe seinerzeit (neben der prinzipiellen semantischen Trennung von Content und Code) angeführt, daß z.B. Nicht-Browser-Clients generell in diese Kategorie fallen können (z.B. PHP mit seinem strip_tags(), welches HTML-Tags und Kommentare entfernt, aber eben nicht CSS- und JS-Code, sofern er nicht auskommentiert ist).

          Auch wage ich keine Abschätzung, was es alles an Clients geben mag. Aber Gunnar kennt alle und alles (jetzt und in Zukunft) - da kann man sich drauf verlassen (wenn man mag)! >:->

          [*] Z.B. als Archiv auf einer meiner Platten ;-)

          Ach, bei dir auch? ;)

          Gruß, Cybaer

          --
          Man kann doch sehr leicht jenen tugendhaften Menschen begegnen, (...) die eine Art "unkrümmbaren Zeigefinger" besitzen, der ständig den kalten Wind des Rechthabens ausströmt. (Wolfgang Huber, Bischof)
          Die Tugend jagt nicht den Teufel, sondern den Sündhaften. Damit wird sie zum Terror. (Hans-Ulrich Jörges, Journalist)