Firefox, embed und Webstandards

  • Hallo.

    Ein Freund von mir machte mich auf folgenden Sachverhalt / bzw. ein Problem erneut aufmerksam. http://flash.dj-tentacle.de wird nur im Firefox / Mozilla verkleinert dargestellt. Scheinbar greift die Angabe des embed width="100%" und height="100%" nicht. Ein Blick auf W3C sagt aber, dass das Dokument nicht dem entspricht was es angibt zu sein. Es ist nämlich kein valides XHTML. Und siehe da, entfernt man den Doctype, kann Firefox das Flash auch mit der angegebenen Höhe / Weite problemlos anzeigen.

    Kann mir jemand erklären wie es dazu kommt? Liegt ein FEhler im Interpretationsmodus vom Firefox vor, oder verhält er sich dem Standard entsprechend richtig?

  • 1.) Ist Mozilla/Firefox wohl die einzigste RenderEngine die den DocType auch wirklich interpretiert. IE z.B. schert sich darum in der Regel einen Dreck oder macht, wenn es fehlerhaft. Selbst Opera ist von der Interpretation teilweise abgewichen, weil die meisten Seiten immernoch auf IE "optimiert" werden. Zwar verwendet man fröhlich DocTypes, die aber interessieren den IE nicht. Da es auf dem IE "hübsch" bzw. "richtig" aussieht, kümmert sich niemand drum und Browser wie Mozilla, die den DocType dann auch ernstnehmen, zeigen es dann anders an.

    2.) Seiten sollten nach validator korrekt sein, wenn man einen doctype verwenden will. Schreibt man keinen validen Code, soll man ihn auch nicht als solchen ausgeben. Ohne DocType (oder einem unvollständigem DocType) rendern die Browser im Quirks-Mode. Zu Deutsch "Kompatibilitätsmodus". Darin ist der Browser sehrviel nachsichtiger und interpretiert auch Dinge die eigendlich gegen den Standard sind.

    3.) 100%-Höhe ist im xhtml1.0 etwas schwerer zu erreichen. Dazu benötigt man CSS.

    4.) <embed> ist kein Standard. Wird aber benutzt, weil Netscape4 es nicht anders versteht und der IE den eigendlichen vom Standard vorgesehenen <object>-Tag so verunstaltet, dass er eben nichtmehr Standard ist (activeX-Einbindung). Daher wird bei Flasheinbindung eine Komibation von <embed> (für alternative Browser) und <object> (für IE, activeX) verwendet, auch wenn es nicht Standardkonform ist.

  • >1.) Ist Mozilla/Firefox wohl die einzigste RenderEngine die den DocType auch wirklich interpretiert.

    He he - mein Apache auch. Ich habe Seiten, da macht er "buuu" wenn ich einen DOCTYPE angebe. Keine Ahnung warum :)

    Grüße aus dem Spessart, Joe

  • Zitat von Katzenbär

    Komisch ist nur, dass Macromedia diesen Code so rausschmeißt.


    Macromedia schmeisst generell keinen validen Code raus. (Auch der überall für so toll befundene Dreamweaver nicht). Als referenz für den Standard können diese Programme genausowenig herangezogen werden, wie MS Frontpage.

    Zitat von Katzenbär

    Über CSS gehen 100% mit dem Doctype auch nicht. Keine Chance.


    Das würde gerne mal erklärt haben. Vor allem das mit dem 100%.

    bender_21: Diese Art (<!--[if IE]> [...] <![endif]-->) etwas einzubauen, ist genauso schlecht wie gleich den <embed> zu verwenden. Auch wenn man behaupten könnte, die seite ist valide, da die ifIF-angabe ja faktisch auskommentiert ist. Valide wäre die schreibweise ausserhalb des if-bereiches.... also so wie mozilla und opera das machen. Mit dem <embed> bedient man wenigstens noch browser, die das <object> noch nicht unterstützen (z.B. Netscape4) und sperrt sie nicht aus.

  • Zitat von bugcatcher


    Das würde gerne mal erklärt haben. Vor allem das mit dem 100%.

    <embed style="width:100%;height:100%;"/> funktioniert ebensowenig mit dem XHTML Doctype. Object hab ich nie verwendet, da ich mit embed immer gut lief.l Also muss ich mich jetzt auf ein embed / object Mischmasch einigen, oder kann ich mich getrost auf eines festlegen?

  • Nunja. <embed> gibt es im standard nicht. wenn du einen doctype verwendest, sagst du die seite ist standard. irgendwie nur logisch, dass das nicht richtig funktioniert.

    mit dem standard und %-höhen-angaben ist eh so eine sache. Firefox macht es da nicht falsch. aber der standard eigenet sich nicht wirklich für sowas.

    objekt-einbundungen (plugins) ist ein besonders heikles thema. Diese seite erklärt das eigendlich ganz gut: http://www.fabrice-pascal.de/artikel/xhtmlembed/