So geben Sie Flash-Seiten über Überprüfungsmethoden in Website-Standards frei

So geben Sie Flash-Seiten über Überprüfungsmethoden in Website-Standards frei
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

Artikel empfehlen

Detailliertes Tutorial zur schnellen Installation von Zookeeper in Docker

Docker: Zookeeper schnell installieren Ich habe Z...

MySQL-Lösung zur funktionalen Indexoptimierung

Bei der Verwendung von MySQL führen viele Entwick...

border-radius ist eine Methode zum Hinzufügen abgerundeter Ränder zu Elementen

border-radius:10px; /* Alle Ecken sind mit einem ...

Prometheus überwacht MySQL mithilfe der Grafana-Anzeige

Inhaltsverzeichnis Prometheus überwacht MySQL übe...

Detaillierte Erklärung zur Verwendung von nohup /dev/null 2>&1

Befehl „nohup“: Wenn Sie einen Prozess ausführen ...

So installieren Sie Docker mit YUM

Wie in der folgenden Abbildung dargestellt: Wenn ...

Eine kurze Diskussion über die Eigenschaften von CSS-Float

In diesem Artikel werden die Eigenschaften von CS...

Vue verwendet Monaco, um Codehervorhebung zu erreichen

Mithilfe der Vue-Sprache und Elementkomponenten m...

JavaScript generiert zufällige Grafiken durch Klicken

In diesem Artikel wird der spezifische Code von J...

Detaillierte Erläuterung der Deep Copy und Shallow Copy im JS-Variablenspeicher

Inhaltsverzeichnis Variabler Typ und Speicherplat...

Methode zur Behebung von IE6-Space-Bugs

Schauen Sie sich den Code an: Code kopieren Der Co...

CSS-Standard: Eigenschaft „vertical-align“

<br />Originaltext: http://www.mikkolee.com/...