Firefox,wmode和fscommand

时间:2009-03-29 14:59:33

标签: javascript flash firefox

我正在使用SWFObject在我的网站上嵌入flash。

var so = new SWFObject("file.swf", "file", "100%", "100%", "8", "#FFFFFF");
so.addParam("wmode", "opaque");
so.addParam("allowscriptaccess", "always");
so.write(container);

就我所知,这在所有浏览器中都像魅力一样,但我也使用flash中的fscommand,因此我有一个功能:

function file_DoFSCommand(command, args) {
    alert("It works!");
}

这也适用于我测试的所有浏览器,除了Windows上的Firefox,其中file_DoFSCommand没有被调用(但显示了flash)。 Firefox mac和其他浏览器显示“它有效!”正如所料。很奇怪。如果我删除“wmode”,“不透明”它突然工作,但然后我的CSS菜单在Flash下面,所以这不是一个选项。 wmode = transparent似乎没有改变任何东西。

设置so.addParam(“allowscriptaccess”,“never”);当设置wmode时,其他浏览器在Windows上的行为类似于FF。

为什么FF不起作用的任何建议?

2 个答案:

答案 0 :(得分:1)

@ Theo.T,谢谢你的提示。虽然它没有解决我的问题,但是搜索如何使用ExternalInterface导致我进入一个页面,说隐藏容器时IE不会接收来自flash的调用。我的容器没有隐藏,但高度设置为0:

<div id="flashcontainer" style="height:0">

将高度设置为1px解决了问题,Firefox现在成功接收来自Flash的调用

答案 1 :(得分:0)

首先,尝试使用ExternalInterface而不是FSCommand(以某种方式折旧)。 SO中已有很多例子。