1

我正在开发的网站遇到最奇怪的问题。在主页上,我有一个在 IE 中显示良好的 Flash 幻灯片。但是它不会出现在 Firefox 中,而是留下一个空白区域。

我正在使用 SWFObject 来显示闪光灯。我知道它至少会在删除持有图像时触发。但是,如果我右键单击白色区域,我会得到一个 HTML 上下文菜单而不是 flash 菜单,这表明它甚至没有将 flash 对象写入页面,更不用说加载 flash SWF 文件了。

如果我将主页的源代码保存到静态 HTML 并将其上传到服务器,它工作正常。

这可能与文件编码或 http 标头有关吗?

我已经尝试了很多东西,比如删除内容、JS、CSS 等。文件的静态版本有效但服务器驱动的文件无效这一事实让我发疯。

服务器正在运行 Joomla CMS。

代码是:

<script type="text/javascript" src="/scripts/swfobject.js"></script>
<script type="text/javascript">swfobject.embedSWF("/flash/loader.swf", "flashContent", "960", "310", "9.0.0", "/flash/expressInstall.swf");</script>

HTML 代码:

<div class="middle" id="flashContent">
<img class="panelBgImage" src="/images/main/Home.jpg" title="Home"/>
</div>

可以在@http://slc.synterax.com/ 看到该站点的临时版本有效期至 06/08/2009)

提前致谢


将脚本放在页面的头部肯定为我修复了它。但是,我过去曾看到过使用 flash、firefox 和 swf 的问题。我解决它的唯一方法是重新安装闪存:(

我认为它在其他浏览器中工作正常?

4

8 回答 8

2

在过去的一天半里,我遇到了类似的问题,我找到了答案。swfobject.embedSWF 应该在文档的 HEAD 部分中(我猜这对于 Joomla 来说是不可能的)。如果你不能把它移到那里,这里有一个解决方法。您可以添加这行代码:

swfobject.switchOffAutoHideShow();

就在您的 swfobject.embedSWF 之前

于 2009-07-31T15:43:01.227 回答
1

您是否尝试过动态方法? http://code.google.com/p/swfobject/wiki/documentation

另外,firebug 的 NET 面板告诉你什么?它是否显示对文件的请求?如果是这样,服务器响应是什么?

于 2009-07-27T14:27:19.877 回答
1

有同样的问题,但这里的答案之一有帮助。可能会帮助别人。

registerObject 需要在 head 标签中。

但是,我的代码将其放在那里...我在打开的 html 标记之前向页面写入了一条调试消息。如果您查看页面源代码(例如右键单击),则 registerObject位于head 标记中。

但是,因为我在 registerobject 之前编写了调试消息,所以 Firefox 关闭了 head 标签并将 registerObject 移动到 body。通过查看显示不同 html 代码布局的 Firebug 发现了这一点。

删除了调试消息并且它起作用了。又浪费了一个小时……

于 2009-10-28T10:06:55.383 回答
1

我在 WordPress 中使用 swf 文件时遇到了这个问题。

swf 文件仅在 FF 3.5 中存在无法加载的问题。

我补充说:

<script src="swfobject.js" type="text/javascript"></script>

到主题的 header.php ,它也为我解决了这个问题。

swf 是使用 Flash Builder 4 创建的。

于 2010-08-12T21:16:38.573 回答
0

哦,我的天啊。浪费了 2-3 个小时试图在 Firefox 中获得 swfobject 显示闪存,我终于解决了它——但并非没有 Armitage 的帮助。我唯一要说的是,我最终只需要放置这条线:

<script src="/Scripts/General/swfobject.js" type="text/javascript"></script>

<Head/>节点中。swfobject.embedSWF() 行和所有自定义代码不需要位于那里。

另外——我现在不能发表评论(关于排名的事情)......但如果可以的话,我会评论的。谢谢阿米蒂奇!+1

于 2009-09-03T03:01:03.200 回答
0

太奇怪了!我使用 registerObject 遇到了同样的问题,在 IE 中是正常的,但在 FF3.5 中不是,浪费了 3 个多小时,谢谢大家刚刚把

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script>

在头脑中,它会解决的。

于 2009-12-17T03:07:03.007 回答
0

我有同样的问题,但这是一个 MasterPage 问题。菲尔给了我线索。我的标签中有以下内容:

    <asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
    </asp:ContentPlaceHolder>

    <script type="text/javascript">
    // <![CDATA[

        var flashvars = {};
        var params = {};
        params.wmode = "opaque";
        params.scale = "exactFit";
        var attributes = {};
        swfobject.embedSWF("RainbowWishBackgroundText.swf", "flashTarget", "100%", "870", "9.0.0", "expressInstall.swf", flashvars, params, attributes);

    // ]]>
    </script>

我将其更改为:

    <script type="text/javascript">
    // <![CDATA[

        var flashvars = {};
        var params = {};
        params.wmode = "opaque";
        params.scale = "exactFit";
        var attributes = {};
        swfobject.embedSWF("RainbowWishBackgroundText.swf", "flashTarget", "100%", "870", "9.0.0", "expressInstall.swf", flashvars, params, attributes);

    // ]]>
    </script>

    <asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
    </asp:ContentPlaceHolder>

现在它可以工作了!

于 2010-06-27T18:21:36.013 回答
0

包括swfobject.switchOffAutoHideShow()以前swfobject.registerObject()为我工作!

<script type="text/javascript" src="js/swfobject.js"></script>
<script type="text/javascript">
    swfobject.switchOffAutoHideShow();
    swfobject.registerObject("flashAntelope", "9.0.0");
</script>
于 2012-01-24T01:18:57.720 回答