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>