我该如何更新此代码

时间:2008-11-07 14:41:40

标签: html legacy

   <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世纪。

5 个答案:

答案 0 :(得分:2)

您可以嵌套对象元素以显示替代项。 W3C解释了它here。我在下面复制了一个片段:

  

OBJECT元素设计的一个重要结果是它提供了一种指定备用对象渲染的机制;每个嵌入式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>

答案 1 :(得分: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>

答案 2 :(得分:1)

我使用函数AC_FL_RunContent来嵌入flash对象 - 它很好,因为它支持所有浏览器,并且是Adobe推荐的。

更多是here

他们还建议使用&lt; object&gt;标记而不是&lt; embed&gt;

答案 3 :(得分:1)

基本上,你应该继续嵌入,因为它是一些旧浏览器的后备。它可能会损害页面的验证,但只要你知道它为什么存在,就可以了。

至少这是Adobe正式推荐的方式:Macromedia Flash OBJECT and EMBED tag syntax

你想要为XXI世纪做代码是正确的,但我们必须处理上一个千年的浏览器......: - )

答案 4 :(得分: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]-->