2008-11-07 71 views
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>並將其中的某些內容作爲替代方案用於那些沒有Flash的用戶?基本上我只是想把這塊html帶入21世紀。

回答

1

我使用函數AC_FL_RunContent嵌入Flash對象 - 這很好,因爲它支持所有瀏覽器,並且由Adobe推薦。

更是here

他們還建議使用< object>標籤,而不是<嵌入>

2

可以通過嵌套對象元素,以顯示替代品。 W3C解釋它here。我複製下面的代碼片段:

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> 
1

基本上,你應該保持嵌入,因爲它是一些舊的瀏覽器的回退。這可能會影響頁面的驗證,但只要您知道它在那裏,它就可以。

至少這是官方的Adobe建議方式:Macromedia Flash OBJECT and EMBED tag syntax

你是正確的想爲XXIth世紀做的代碼,但我們必須應對來自千年之前的瀏覽器... :-)

+0

是的,但是你想用「embed」標籤處理什麼瀏覽器?據我所知,即使IE 6可以在沒有「嵌入」的情況下在「object」標籤中播放Flash電影。這可能是當今最糟糕的瀏覽器之一...... – hangy 2008-11-07 15:10:10

1

我發現它迎合IE和其他網絡(從可用性的網站)上的驗證碼,我用我的Flash網頁(我把它改成你的代碼):

<!--[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]--> 
2

我建議你使用swfobject這是一個跨平臺的開源庫,可在您的頁面上顯示Flash。

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>