1.embed は違法です タグは Netscape のプライベートタグです。 タグは HTML3.2、HTML4.0 から XHTML1.0 まで広く使用されていますが、W3C にはこのタグが含まれていません。 タグを使用しているページは W3C 検証に合格しません。 2. オブジェクトを使用する必要があります。 W3C は タグを推奨します。 XHTML2 でも、 は に置き換えられます。 メソッドを使用してフラッシュを挿入するコードは次のとおりです: if (navegiator . mimeTypes && navigator . mimeTypes["application /x -shockwave-flash"] { document . write('<embed src="test . swf" ...</SPAN> <P>これは現時点ではより良い解決策です。 Flash を挿入し、js を使用してそれを呼び出す必要があります。この方法では、W3C 検証プログラムを欺き、ページを検証に合格させることができます。しかし、それは単なる「不正行為」であり、実際には基準を満たしていません。 </P> <P>マクロメディアはどのように行うのでしょうか? 次のコードを参照してください: </P><SPAN class=code><!-- $RCSfile: FlashDetection2k.pm,v $ $Revision: 1.68 $ : ブラウザの accept ヘッダーは、Flash 6,0 を使用していることを示します。 ,65,0 以上なので、この Flash 6 ムービーは問題ありません。 --></span> <p>妥協的なアプローチを採用しています: </p> <ul> <li>(1) まず、JavaScript がブラウザのバージョンと Flash Player のバージョンを決定します。 </li> <li>(2). 異なるバージョンに応じて HTML コードをバックグラウンドで動的に生成します。 </li> </ul> <p>簡単に言うと、ブラウザがオブジェクトの MIME タイプ「application/x-shockwave-flash」を処理できない場合、デフォルトで <object> メソッドが使用され、サブ要素 <embed> が挿入されます。はっきり言ってこれは js を使って <embed> を非表示にするのと同じで「騙し」的な手法ですが、現時点でできる最も標準的で完璧な手法です。 </p> <p>本当に <embed> を放棄したい場合は、IE ブラウザが <object> をより適切にサポートするようになるまで、おそらく Longhorn が登場するまで待つしかありません。 </p>