Bei diesem Problem weiß ich nicht, ob ich IE6 dafür verantwortlich machen soll, dass er nicht automatisch aktualisiert wird, oder ob ich den W3C-Standard dafür verfluchen soll, dass er nicht abwärtskompatibel ist.
Dies ist die traditionelle Einbettungsmethode von FLASH:
< Objekt classid = " clsid:D27CDB6E-AE6D-11cf-96B8-444553540000 " codebase = " http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0 " Breite = „ 32 “ Höhe = " 32 " >
< Param Name = „ Film “ value = " test.swf " />
< Param Name = „ Qualität “ Wert = „ hoch “ />
< einbetten src = " test.swf " Qualität = „ hoch “ Pluginspage = " http://www.macromedia.com/go/getflashplayer " type = " application/x-shockwave-flash " Breite = „ 32 “ height = " 32 " ></ Embed >
</object>
Verwenden Sie Objekt- und Einbettungs-Tags zum Einbetten. Wenn Sie vorsichtig sind, werden Sie feststellen, dass viele Objektparameter und viele Einbettungsattribute wiederholt werden.
Einige Browser unterstützen Objekte und einige unterstützen Einbettungen, weshalb beim Ändern von Flash-Parametern beide Stellen geändert werden müssen. Diese Methode war schon immer die offizielle Methode von Macromedia und gewährleistet die größtmögliche Funktionalität von Flash ohne Kompatibilitätsprobleme.
Aber seit der W3C-Standard entstanden ist und einige Kunden hart darauf gedrängt haben, den Standard zu übernehmen, sind die Dinge komplizierter geworden:
Das Einbetten gilt als illegal
Das Embed-Tag ist ein privates Tag von Netscape. Obwohl das Embed-Tag von HTML3.2, HTML4.0 bis XHTML1.0 weit verbreitet ist, hat W3C dieses Tag nicht integriert. Seiten, die das Embed-Tag verwenden, bestehen die W3C-Validierung nicht.
Tatsächlich haben sie Recht, wenn sie so denken. Das echte Vista-System ist im Grunde populär geworden. Die meisten von ihnen verwenden Mainstream-Browser wie IE7.0/IE8.0 Codezeilen:
In China, wo Piraterie weit verbreitet ist, verwenden die meisten Benutzer jedoch immer noch den IE6-Browser, der mit Windows XP-Systemen geliefert wird, und dieser unterstützt das Objekt-Tag nicht, sodass Problemumgehungen nur zur Lösung des Problems verwendet werden können.
Aktuelle vorläufige Maßnahmen
Was muss ich tun, um nicht nur den Standards zu entsprechen, sondern auch Flash in allen Browsern korrekt anzuzeigen? Wir können ein langes JavaScript hinzufügen, um das Embed-Tag auszublenden:
Darüber hinaus müssen Sie mehrere Parameter zum Aufrufen des JS auf der Seite hinzufügen
Dann entsteht ein neues Problem: Was passiert, wenn der Benutzer Javascript deaktiviert?
Müssen wir zuerst mehr Code schreiben, um zu bestimmen, welchen Browser der Benutzer verwendet, und dann den entsprechenden Code basierend auf dem Browser ausgeben? Verdammt, wie sehr beeinträchtigt es die Effizienz der Seitenausführung? Um eines W3C-Standards willen werden so viele Codezeilen hinzugefügt, dass jeder Benutzer, der Ihre Website besucht, eine zusätzliche Sekunde warten muss?
Der Punkt, den ich ansprechen möchte, ist also:
In der Umgebung, in der IE6 beliebt ist, sollten Sie den W3C-Standard derzeit nicht in Betracht ziehen. Erstellen Sie Ihre eigenen Seiten sorgfältig und schreiben Sie so wenig Codezeilen wie möglich. Machen Sie keine Standards um der Standards willen.