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

Lösung für den MySQL-Fehlercode 1064

Wenn die Wörter in der SQL-Anweisung mit den Schl...

Tutorial zu HTML-Formular-Tags (4):

Nehmen Sie nun an, dass Sie dem Formular ein Elem...

Reines CSS zum Ändern der Layoutgröße durch Ziehen nach links und rechts

Nutzen Sie die Funktion „Non- overflow:auto - res...

Zusammenfassung der zwölf Methoden der Vue-Wertübertragung

Inhaltsverzeichnis 1. Vom Vater zum Sohn 2. Vom S...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 8.0.19

In diesem Artikel wird das grafische Tutorial zur...

11 Beispiele für die erweiterte Verwendung von Eingabeelementen in Webformularen

1. Löschen Sie das gepunktete Feld, wenn die Scha...

Beispielcode zum Erstellen eines Dropdown-Menüs mit reinem CSS

Einführung: Als ich mir in letzter Zeit die Frage...