この問題については、自動的に更新されない IE6 のせいにするべきなのか、下位互換性のない W3C 標準を呪うべきなのか、私にはわかりません。
これは FLASH の従来の埋め込み方法です。
<オブジェクト クラスID = " clsid:D27CDB6E-AE6D-11cf-96B8-444553540000 " コードベース= " http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0 " 幅= " 32 " 高さ= " 32 " >
<パラメータ 名前= "映画" 値= " test.swf " />
<パラメータ 名前= "品質" 値= "高い" />
<埋め込む src = "テスト.swf " 品質= "高い" pluginspage = " http://www.macromedia.com/go/getflashplayer " type = " application/x-shockwave-flash " 幅= " 32 " 高さ= " 32 " ></埋め込み>
</オブジェクト>
埋め込むには object タグと embed タグを使用します。注意して見ると、object の多くのパラメータと embed の多くの属性が繰り返されていることがわかります。
ブラウザによってはオブジェクトをサポートするものと埋め込みをサポートするものがあるため、Flash パラメータを変更する場合は両方の場所を変更する必要があります。この方法は常に Macromedia の公式方法であり、互換性の問題を発生させることなく Flash の機能を最大限に保証します。
しかし、W3C 標準が登場し、一部の顧客がその標準に合格するために懸命に努力して以来、状況は複雑になってきました。
埋め込みは違法とみなされます
embed タグは Netscape のプライベートタグです。HTML3.2、HTML4.0 から XHTML1.0 まで広く使用されていますが、W3C にはこのタグが含まれていません。 embed タグを使用するページは W3C 検証に合格しません。
実際、このように考えるのは正しいことであり、ほとんどのユーザーは、基本的に、IE7.0/IE8.0 などの主流のブラウザを使用しています。コード行:
ただし、著作権侵害が横行している中国では、ほとんどのユーザーが依然として Windows XP システムに付属の IE6 ブラウザを使用しており、このブラウザは object タグをサポートしていないため、回避策を使用して解決することしかできません。
現在の経過措置
標準に準拠するだけでなく、すべてのブラウザで Flash を正しく表示するにはどうすればよいですか?長い JavaScript を追加して、埋め込みタグを非表示にすることができます。
それだけでなく、ページ内で JS を呼び出すためのいくつかのパラメータを追加する必要もあります
そこで新たな問題が発生します。ユーザーが JavaScript を無効にしたらどうなるでしょうか?
最初にユーザーが使用しているブラウザを特定するためにさらにコードを記述し、次にブラウザに基づいて適切なコードを出力する必要がありますか?くそー、W3C 標準のために、Web サイトにアクセスするすべてのユーザーをさらに 1 秒待たせるために、これほど多くのコード行が追加されていることは、ページの実行効率にどれだけ影響するのでしょうか?
したがって、私が言いたいことは次のとおりです。
現在、IE6 が普及している環境では、当面は W3C 標準は考慮しないでください。独自のページを慎重に作成し、できるだけ少ない行のコードを記述します。基準のための基準を作らないでください。