禁用 Shockwave Flash 时,Firefox 显示随机字符而不是备用图像

Posted

技术标签:

【中文标题】禁用 Shockwave Flash 时,Firefox 显示随机字符而不是备用图像【英文标题】:Firefox shows random characters instead of fallback image when Shockwave Flash is disabled 【发布时间】:2012-03-09 07:52:54 【问题描述】:

我有以下代码在页面上显示 swf 对象。它适用于所有浏览器。但是,如果在 Firefox 中关闭了Shockwave Flash,它不会回退到图像并显示一堆字符,而是看起来像“CWS q�x��wX�Y�7z...”所有其他浏览器都回退到图像。我确认我们在我们的服务器上提供 application/x-shockwave-flash MIME 类型。

<script type="text/javascript">
swfobject.registerObject("fd_flash","8.0.0");
</script>
<div>
<object  id="fd_flash" >
<param name="movie" value="path/file.swf" />
<param name="wmode" value="opaque" />
<!--[if !IE]>-->
<object data="path/file.swf"  type="application/x-shockwave-flash" >
<!--<![endif]-->
<div><img src="path/image.jpg" /></div>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
</div>

谢谢!

【问题讨论】:

你能链接到有问题的页面吗?这听起来确实像是 MIME 类型的问题,即使你说你已经检查过了...... 是www.jiwire.com的主页横幅 这将是jiwire.com/sites/default/files/JiWire-FD-Jan2012-a.swf,据我所知,该网站以文本/纯文本形式发送。当然,当我使用 wget 获取该 URL 时,HTTP 标头包括 Content-Type: text/plain 嗯,是的,你是对的。然而,我从我们的临时服务器下载了这个 swf 文件,它也有 text/plain 标题,但是 Firefox 优雅地回退到那里的图像。 很难说没有访问权限的登台服务器正在做什么...... 【参考方案1】:

您可以尝试另一种使用swfobject 的方式。在您的 &lt;head&gt; 中添加一个链接到您的 swfobject.js 文件,然后在您的 &lt;body&gt; 中输入:

<div id="yourFlashDiv">
    <!-- ALTERNATE CONTENT GOES HERE -->
    <p>This paragraph will show if your Flash content won't</p>

    <!-- FLASH CONTENT GOES HERE -->
    <script type="text/javascript">
      // <![CDATA[
      var so = new SWFObject("path/file.swf", "SwfTitleGoesHere", "376", "940", "8", "#FFFFFF");
      so.addParam("wmode", "opaque");
      so.write("yourFlashDiv");
      // ]]>
    </script>
</div>

这是我用于 swf 显示的,它在我测试过的每个浏览器上都失败了。希望这会有所帮助

【讨论】:

我无法让它在 drupal 中工作。我将此代码粘贴到内容区域,保存后会显示许多警告,并且仅显示备用内容。 什么样的警告?你确定 jquery 和 swfobject.js 都加载到你的 html 中了吗? 两个库都已加载。警告:DOMDocumentFragment::appendXML() [domdocumentfragment.appendxml]:实体:第 10 行:解析器错误:StartTag:filter_dom_serialize_escape_cdata_element() 中的元素名称无效(/Applications/MAMP/htdocs/6.0 (branch)/modules/filter 的第 1111 行/filter.module)。警告:DOMDocumentFragment::appendXML() [domdocumentfragment.appendxml]: //--> in filter_dom_serialize_escape_cdata_element() (/Applications/MAMP/htdocs/6.0 (branch)/modules/filter/filter.模块)。

以上是关于禁用 Shockwave Flash 时,Firefox 显示随机字符而不是备用图像的主要内容,如果未能解决你的问题,请参考以下文章

如何限制 CPU 资源 / Shockwave Flash

在 JavaScript 中寻址 Shockwave Flash 对象 (MultiPowUpload) 的属性

如何在活动设计器中启用 Shockwave Flash 对象?

html网页怎么嵌入flash地址

Flash

嵌入Flash视频