2
   <object height="25" width="75" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000">
        <param value="http://click-here-to-listen.com/players/iaPlay13.swf?x=1058286910FTRZGK" name="movie"/> 
        <param value="high" name="quality"/>
        <param value="#FFFFFF" name="bgcolor"/> 
        <param value="opaque" name="wmode"/>
        <embed height="25" width="75" wmode="opaque" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" bgcolor="#FFFFFF" quality="high" src="http://click-here-to-listen.com/players/iaPlay13.swf?x=1058286910FTRZGK"/>
    </object>

この従来のマークアップを、構築中の新しいサイトに挿入する必要があります。問題は<embed>タグの使用です。

<embed>フラッシュを持っていない人のために、代替手段として を廃止して、いくつかのコンテンツを入れますか? 基本的には、この html を 21 世紀に持ち込もうとしているだけです。

4

5 に答える 5

2

オブジェクト要素をネストして、代替を表示できます。W3Cはここでそれを説明しています。以下のスニペットをコピーしました:

OBJECT要素の設計の重要な結果の1つは、代替オブジェクトレンダリングを指定するためのメカニズムを提供することです。埋め込まれた各OBJECT宣言は、代替コンテンツタイプを指定できます。ユーザーエージェントが最も外側のOBJECTをレンダリングできない場合、別のOBJECT要素などである可能性のあるコンテンツをレンダリングしようとします。

次の例では、代替レンダリングがどのように機能するかを示すために、いくつかのOBJECT宣言を埋め込みます。ユーザーエージェントは、次の順序で、最初のOBJECT要素をレンダリングしようとします:(1)Python言語で記述された地球アプレット、(2)地球のMPEGアニメーション、(3)地球のGIF画像、(4)代替テキスト。

<P>                 <!-- First, try the Python applet -->
<OBJECT title="The Earth as seen from space" 
    classid="http://www.observer.mars/TheEarth.py">
                <!-- Else, try the MPEG video -->
    <OBJECT data="TheEarth.mpeg" type="application/mpeg">
                <!-- Else, try the GIF image -->
      <OBJECT data="TheEarth.gif" type="image/gif">
                <!-- Else render the text -->
       The <STRONG>Earth</STRONG> as seen from space.
     </OBJECT>
   </OBJECT>
</OBJECT>
于 2008-11-07T14:53:12.697 に答える
2

クロス プラットフォームのオープン ソース ライブラリであるswfobjectを使用して、ページにフラッシュを表示することをお勧めします。

http://code.google.com/p/swfobject/

フラッシュと代替 (非フラッシュ) コンテンツをロードするには、さまざまな方法があります。たとえば、次のコードはあなたのコードを置き換えることができます:

<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
    swfobject.embedSWF("http://click-here-to-listen.com/players/iaPlay13.swf?x=1058286910FTRZGK", 
        "myContent", "25", "75", "9.0.0");
</script>
<div id="myContent">
  <p>Alternative content</p>
</div>
于 2008-11-07T15:11:09.323 に答える
1

フラッシュオブジェクトを埋め込むために関数AC_FL_RunContentを使用します。これは、すべてのブラウザーをサポートし、Adobeによって推奨されているので便利です。

詳細はこちら

また、<embed>の代わりに<object>タグを使用することも提案しています。

于 2008-11-07T14:52:35.880 に答える
1

一部の古いブラウザのフォールバックであるため、基本的には埋め込みを維持する必要があります。ページの検証に支障をきたす可能性がありますが、なぜそこにあるのかを知っている限り、問題はありません。

少なくとも、アドビが公式に推奨している方法です。MacromediaFlashOBJECTおよびEMBEDタグの構文

あなたはXXI世紀のコードをやりたいと思うのは正しいですが、私たちは前の千年紀のブラウザを扱わなければなりません... :-)

于 2008-11-07T14:54:30.510 に答える
1

IE などに対応する Web (ユーザビリティ サイトから) でこのコードを見つけ、フラッシュ ページで使用しています (あなたのコードに変更しました)。

<!--[if !IE]> -->
<object type="application/x-shockwave-flash" data="http://click-here-to-listen.com/players/iaPlay13.swf?x=1058286910FTRZGK" width="75" height="25">
<!-- <![endif]-->

<!--[if IE]>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width="75" height="25">
  <param name="movie" value="http://click-here-to-listen.com/players/iaPlay13.swf?x=1058286910FTRZGK" />
<!--><!--dgx-->
  <param name="loop" value="false">
  <param name="menu" value="false">
  <param name="quality" value="high">
</object>
<!-- <![endif]-->
于 2008-11-07T14:58:59.753 に答える