我们在网页中嵌入了一个Flash游戏(使用SWFObject v2.2),页面上有一些链接以下列方式调用闪存:
window.document["flashObjectId"].flashMethod();
这在我们尝试过的所有浏览器上都运行良好,包括IE7和8,但是在IE9上它会生成以下错误:“SCRIPT438:对象不支持此属性或方法”。
它在兼容模式下工作,所以我尝试添加一个元标记,告诉IE9默认使用兼容模式,但这不起作用,因为我们的游戏在Facebook内的IFrame中运行。
我已尝试在Javascript中以我能想到的方式引用flash对象,但我总是在IE9中得到相同的错误消息。如果有人有任何信息可以帮助我在IE9中使用它,我会非常感激!
答案 0 :(得分:2)
这可能是您遇到问题的原因,此处也提供了解决方案:
http://msdn.microsoft.com/en-us/library/gg622942%28v=VS.85%29.aspx
答案 1 :(得分:0)
我有同样的问题,但我没有使用SWFObject或AC_RunActiveContent.js。
我的解决方案是:使用HTML和AC_RunActiveContent.js发布swf。然后我用闪存导出替换了我当前的代码,它开始工作。
答案 2 :(得分:0)
您如何看待这个?
function getFlashObject(movieName) {
if (navigator.appName.indexOf("Microsoft") != -1) {
//alert("IE");
if (typeof (window[movieName].flashMethod) == 'function') {
// < IE9
movie = window[movieName];
}
else if (typeof (document[movieName].flashMethod) == 'function') {
// >= IE9
movie = document[movieName];
}
}
else {
// NON IE
movie = document[movieName];
}
return ((movie) ? true : false);
}
$(document).ready(function () {
if(getFlashObject("flashObjectId")) {
movie.flashMethod();
} else {
alert("Failed to initialize");
}
}