我正在使用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和其他浏览器显示"It works!“不出所料。非常奇怪。如果我去掉"wmode","opaque“,它会突然起作用,但是我的css菜单在Flash下面,所以这不是一个选项。wmode = transparent似乎不会改变任何事情。
设置so.addParam("allowscriptaccess",“从不”);会使其他浏览器在设置wmode时在windows上的行为类似于FF。
有什么建议为什么FF不能工作吗?
发布于 2009-03-29 17:51:53
@Theo.T,谢谢你的提示。虽然它没有解决我的问题,但是搜索如何使用ExternalInterface将我带到一个页面,告诉我当容器被隐藏时,IE不会接收来自闪存的调用。我的容器没有隐藏,但高度设置为0:
<div id="flashcontainer" style="height:0">将高度设置为1px解决了问题,Firefox现在成功接收来自Flash的调用
发布于 2009-03-29 15:19:00
首先,尝试使用ExternalInterface而不是FSCommand (以某种方式折旧)。已经有很多这样的例子了。
https://stackoverflow.com/questions/694759
复制相似问题