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 元素设计的一个重要结果是它提供了一种指定替代对象渲染的机制。每个嵌入的 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,它是一个跨平台的开源库,可以在您的页面上显示 Flash。

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

有多种方法可以加载 Flash 和替代(非 Flash)内容。例如,以下代码可以替换您的代码:

<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 来嵌入 Flash 对象 - 这很好,因为它支持所有浏览器并且是 Adob​​e 推荐的。

更多在这里

他们还建议使用 <object> 标签而不是 <embed>

于 2008-11-07T14:52:35.880 回答
1

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

至少这是 Adob​​e 官方推荐的方式:Macromedia Flash OBJECT 和 EMBED 标签语法

你想做二十一世纪的代码是对的,但我们必须处理上千年的浏览器...... :-)

于 2008-11-07T14:54:30.510 回答
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]-->
于 2008-11-07T14:58:59.753 回答