【问题标题】:Code to replace SWF with HTML5 if no flash detected如果未检测到 Flash,则将 SWF 替换为 HTML5 的代码
【发布时间】:2012-12-05 06:45:00
【问题描述】:

我有什么:

我在页面中嵌入了一个 *.swf 文件。

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab" width="960" height="630" id="test1"> 

<param name="movie" value="demo.swf" />

<embed src="demo.swf" width="960" height="630" name="test1" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" />

</object>

我需要什么:

当没有检测到 flash 时,我需要显示 *.swf 文件的 HTML5 版本(使用 Google Swiffy 制作)。

HTML5 版本是&lt;script&gt;&lt;/script&gt; 标记中的一大块代码。

我的问题:

如何检测是否未启用 Flash,然后将 *.swf 替换为 HTML5 替代品?

我不能偏离上面的 *.swf 嵌入代码,因为它是我能找到的唯一可以让我在 WordPress 帖子中成功嵌入 *.swf 文件的代码块。

【问题讨论】:

  • 很高兴你把它整理出来。我将swfobject 用于所有与 web flash 相关的项目,默认情况下您设置了一个备用内容 div

标签: html wordpress flash embed


【解决方案1】:

如果您将备用代码放在对象标记中,如果浏览器不支持该对象(您的 swf),那么它只会看到代码。这是 adobe 检查 Flash 支持的方式,如果不支持会显示获取 Flash 按钮。

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab" width="960" height="630" id="test1"> 

    <param name="movie" value="demo.swf" />

    <embed src="demo.swf" width="960" height="630" name="test1" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" />

    <!-- PUT YOUR WEBSITE CODE HERE-->

</object>

【讨论】:

    【解决方案2】:

    我最终使用了一个 jQuery 脚本来检测 Flash 支持:

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

    如果未检测到 Flash 支持,该脚本将隐藏包含 Flash 内容的 div,并显示 HTML5 版本(或任何您的替代内容)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-12
      • 1970-01-01
      • 1970-01-01
      • 2012-02-17
      • 2012-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多