我正在使用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不起作用的任何建议?
答案 0 :(得分:1)
@ Theo.T,谢谢你的提示。虽然它没有解决我的问题,但是搜索如何使用ExternalInterface导致我进入一个页面,说隐藏容器时IE不会接收来自flash的调用。我的容器没有隐藏,但高度设置为0:
<div id="flashcontainer" style="height:0">
将高度设置为1px解决了问题,Firefox现在成功接收来自Flash的调用
答案 1 :(得分:0)
首先,尝试使用ExternalInterface而不是FSCommand(以某种方式折旧)。 SO中已有很多例子。