1. Embed ist illegal Das <embed>-Tag ist ein privates Tag von Netscape. Obwohl das <embed>-Tag weit verbreitet ist, wurde es von HTML3.2, HTML4.0 bis XHTML1.0 nicht in das W3C aufgenommen. Seiten, die das Tag <embed> verwenden, bestehen die W3C-Validierung nicht. 2. Objekt sollte verwendet werden W3C empfiehlt das <object>-Tag. Auch in XHTML2 wird <img> durch <object> ersetzt. Der Code zum Einfügen des Flashs mit der Methode <object> lautet: <Objekttyp="Anwendung/x-shockwave-flash" Daten="test.swf" Breite="200" Höhe="100"> <Parametername="Film" Wert="test.swf /> </Objekt> Allerdings kann diese Methode auf IE5-IE6/Win nicht korrekt angezeigt werden (sie kann nicht kontinuierlich abgespielt werden und muss vor der Wiedergabe heruntergeladen werden), auf niedrigeren Versionen kann sie jedoch korrekt angezeigt werden. Später wurde das Problem der kontinuierlichen Wiedergabe dadurch gelöst, dass zunächst eine kleine Flash-Datei aufgerufen und dann eine große Flash-Datei eingebettet wurde. In Versionen über IE5 kann das Flash jedoch manchmal immer noch nicht angezeigt werden. 3. Aktuelle vorübergehende Maßnahmen Was müssen wir also tun, um die Standards einzuhalten und Flash in allen Browsern korrekt anzuzeigen? Wie hat die Macromedia-Website die W3C-Validierung bestanden? Einige Designer dachten darüber nach, JavaScript zu verwenden, um das unzulässige <embed>-Tag zu verbergen. <script type="text/javascript"> wenn (navegiator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"] { document.write(''<embed src="test.swf" ... Dies ist aktuell die bessere Lösung. Wenn Sie Flash einfügen müssen, rufen Sie es mit js auf. Mit dieser Methode können Sie das W3C-Validierungsprogramm täuschen und dafür sorgen, dass die Seite die Validierung besteht. Aber das ist bloß „Betrug“ und entspricht nicht wirklich den Standards. Wie macht Macromedia das? Sehen Sie sich diesen Code an: <!-- $RCSfile: FlashDetection2k.pm,v $ $Revision: 1.68 $ : Der Accept-Header Ihres Browsers zeigt an, dass Sie Flash 6,0,65,0 oder höher haben. Dieser Flash 6-Film ist also für Sie in Ordnung, hier kommt er. --> Es wird ein Kompromissansatz verfolgt: (1). Zunächst wird JavaScript verwendet, um die Version Ihres Browsers und Flash Players zu ermitteln. (2) Generieren Sie im Hintergrund dynamisch HTML-Code entsprechend der verschiedenen Versionen. Einfach ausgedrückt wird standardmäßig die Methode <object> verwendet. Wenn der Browser den MIME-Typ des Objekts „application/x-shockwave-flash“ nicht verarbeiten kann, fügt er das untergeordnete Element <embed> ein. Ehrlich gesagt ähnelt dies der Verwendung von js zum Verbergen der <embed>-Methode, was ebenfalls eine „Schummelmethode“ ist, es handelt sich jedoch um den standardmäßigsten und perfektesten Ansatz, der derzeit möglich ist. Wenn wir <embed> wirklich aufgeben wollen, können wir nur warten, bis der IE-Browser <object> besser unterstützt, vielleicht bis Longhorn herauskommt. |
<<: MySQL Series II-Konfiguration für mehrere Instanzen
>>: Einführung in die Rolle des HTML-Doctypes
Kürzlich habe ich festgestellt, dass die Serverze...
1. Netzwerkoptimierung YSlow hat 23 Regeln. Diese...
Inhaltsverzeichnis Legen Sie beim Erstellen einer...
Inhaltsverzeichnis 1. Globale Wache 1. Globale Fr...
Vorwort Dieser Artikel enthält eine Anleitung zum...
Dieser Artikel wurde ursprünglich von Bloggerin W...
Dieser Artikel stellt die Entwicklungsumgebung vo...
Heute habe ich gesehen, wie ein Freund im Q&A...
Inhaltsverzeichnis 1. Einführung in die Grundfunk...
Während Ubuntu heute das beliebteste Linux-Betrie...
Problembeschreibung Wie wir alle wissen, wird bei...
Wie wir alle wissen, können wir in Linux ohne den...
Inhaltsverzeichnis Hintergrund Problemort Weitere...
Was ist ein Selektor? Die Rolle des Selektors bes...
Warum Vim lernen? Linux verfügt über eine große A...