我正在开发一个我正在开发的网站最奇怪的问题。在主页上我有一个flash幻灯片放映,在IE中显示正常。但它并没有出现在Firefox中,而是留下了空白区域。
我正在使用SWFObject来显示闪光灯。我知道它至少会在移除保持图像时触发。但是,如果我右键单击白色区域,我会得到一个HTML上下文菜单,而不是闪存菜单,这表明它甚至没有将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/(可在2009年8月6日之前使用)
提前致谢
让页面头部的脚本确实为我修好了。但是我在过去看过flash和firefox以及swf的问题。我解决它的唯一方法是重新安装闪存:(
我认为在其他浏览器中工作正常吗?
答案 0 :(得分:2)
在过去的一天半里,我遇到了类似的问题,我找到了答案。 swfobject.embedSWF应该在文档的HEAD部分(我猜这是Joomla不可能的)。如果你不能在那里移动它,那就是workaround here。您可以添加以下代码:
swfobject.switchOffAutoHideShow();
就在您的swfobject.embedSWF
之前答案 1 :(得分:1)
您是否尝试过动态方法? http://code.google.com/p/swfobject/wiki/documentation
另外,firebug的NET面板告诉你什么?它是否显示该文件的请求?如果是这样,服务器响应是什么?
答案 2 :(得分:1)
有同样的问题,但其中一个答案有帮助。可能会帮助别人。
registerObject需要位于head标签中。
我的代码是把它放在那里,但是......我正在打开html标签之前向页面写一个调试消息。如果您查看页面源(例如右键单击),则head标记中的registerObject 是。
但是,因为我在registerobject之前编写了调试消息,所以Firefox正在关闭head标签并将registerObject移动到正文。通过查看显示不同html代码布局的Firebug找到了这个。
删除了调试消息并且它有效。又浪费了一个小时......
答案 3 :(得分:1)
我使用带有WordPress的swf文件遇到了这个。
swf文件在FF 3.5中只有一个问题,它没有加载。
我补充说:
<script src="swfobject.js" type="text/javascript"></script>
到主题的header.php,它也解决了我的问题。
swf是使用Flash Builder 4创建的。
答案 4 :(得分:0)
哦,天哪。浪费了2-3个小时试图在Firefox中获得swfobject显示闪存,我终于解决了它 - 但不是没有Armitage的帮助。 我唯一要说的是我最终只能放置这条线:
<script src="/Scripts/General/swfobject.js" type="text/javascript"></script>
<{1>}节点中的。 swfobject.embedSWF()行和所有自定义代码不需要位于那里。
另外 - 我现在不能发表评论(关于排名的事情)......但如果可以,我会有。 谢谢阿米蒂奇! 1
答案 5 :(得分:0)
太奇怪了! 我使用registerObject捕获相同的问题,它在IE中是正常的,但在FF3.5中不是, 浪费了3个小时,谢谢你们所有人只是把
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script>
在头脑中,它会解决。
答案 6 :(得分: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>
现在它有效!
答案 7 :(得分: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>