Peete: <iframe>/document.write() in XHTML?

Hi da draußen,
ich habe irgendwo gelesen, dass das <iframe>-Tag und die JavaScript-Methode document.write() in XHTML unzulässig sind.

Ist das wahr und wenn ja, was sind die Gründe?

Viele Grüße,
Peete

  1. Na, also <iframe> hab ich in der transitional XHTML gefunden, aber was ist mit document.write()?

  2. Hi da draußen,

    Hello out there!

    ich habe irgendwo gelesen, dass das <iframe>-Tag und die JavaScript-Methode document.write() in XHTML unzulässig sind.

    Zweifaches njein.

    iframe gibt’s nicht in XHTML 1.0 Strict/XHTML 1.1 (und das ist auch gut so), aber in XHTML 1.0 Transitional.

    document.write() funktioniert beim Medientyp 'text/html', aber nicht bei 'application/xhtml+xml' [molily]

    See ya up the road,
    Gunnar

    --
    “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
  3. Hallo,

    Hi da draußen,
    ich habe irgendwo gelesen, dass das <iframe>-Tag und die JavaScript-Methode document.write() in XHTML unzulässig sind.

    iframe ist wie gesagt in XHTML 1.0 genauso erlaubt wie in HTML 4: Nämlich in der Transitional-Variante.

    document.write() ist in XHTML ebenfalls »erlaubt«. Nirgendwo ist es verboten. Solange du XHTML nur als sogenanntes HTML-kompatibles XHTML mit dem MIME-Typ text/html auslieferst, wird document.write() weiter funktionieren.

    ABER: Wenn du XHTML mit dem MIME-Type application/xhtml+xml auslieferst, der Browser das Dokument also als »echtes« XHTML verarbeitet, dann ignorieren einige Browser document.write(). Hixie beschreibt die Gründe. (Ob man die für stichhaltig hält, ist eine andere Frage.)

    Betroffen sind Opera und Gecko-basierte Browser, das sind momentan auch die einzigen, die »echtes« XHTML wirklich umsetzen können. (Konqueror und Safari kennen zwar application/xhtml+xml, parsen XHTML aber immer als »Tag-Soup«, nicht gemäß den XML-Regeln. document.write() funktioniert darin im Moment immer, wenn ich noch auf dem aktuellen Stand bin. IE kann überhaupt kein »echtes« XHTML.)

    99,9% der Leute, die XHTML verwenden, scheren sich nicht um die Unterscheidung zwischen HTML-kompatiblen und »echtem«, als XML verarbeiteten XHTML. Sie erwenden XHTML immer im Zusammenhang mit dem MIME-Typ text/html, document.write() funktioniert daher für sie immer.

    »Kein document.write() in XHTML« trifft also nur eingeschränkt zu: Kein document.write() in als XML verarbeiteten XHTML.

    http://www.mozilla.org/docs/web-developer/faq.html#xhtmldiff
    http://www.w3.org/MarkUp/2004/xhtml-faq#docwrite

    http://forum.de.selfhtml.org/archiv/2005/2/t101199/#m621128
    http://forum.de.selfhtml.org/archiv/2006/2/t123550/#m795730

    Vielleicht auch mal googlen und die Archivsuche benutzen...

    Mathias