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
Inhaltsverzeichnis Vorwort Webpack-Deb-Server Sta...
Mysql ist eine beliebte und einfach zu bedienende...
Inhaltsverzeichnis Vorwort 1. Stildurchdringung 1...
Typische MySQL-Szenarien: Schnittmenge und Differ...
Heute habe ich ein Problem in HTML gefunden. Es s...
Da das Kontrollkästchen bei der Webentwicklung kle...
Effektanzeige: Controllerknoten zur Umgebungsvorb...
Bei einem aktuellen Problem gibt es folgendes Phä...
React Hooks ist eine neue Funktion, die in React ...
Inhaltsverzeichnis MySQLs current_timestamp-Falle...
Wenn Sie beim Konfigurieren von proxy_pass in ngi...
Lösungsprozess: Methode 1: Die Standard-Kernelver...
Jenkins ist ein Open-Source-Softwareprojekt. Es h...
Centos7-Switch-Boot-Kernel Hinweis: Bei Bedarf wi...
Wir alle wissen, dass Jmeter eine native Ergebnis...