我有几个按钮在我的flash应用程序调用两个不同的javascript函数。它们可以在除IE9以外的所有浏览器中工作(我没有尝试过更早的ie)。我调用函数的代码是这样的:
ExternalInterface.call(
"myLovelyFunction",
string1, string2);
和JS中的代码看起来像这样:
function myLovelyFunction(string1, string2) {
window.open('https://twitter.com/share?url=http%3A%2F%2Fwww.mysite.com%2Fapage.php&via=atwitteraccount&text=Some%20text%22&related=atwitteraccount',
'windowname',
'height=290,width=510');
}
在IE9中,这个函数什么都不做,但是控制台会报错:
SCRIPT438: Object doesn't support property or method 'SetReturnValue'
index.php, line 1 character 1
第1行,第1个字符显然没有特别指向。
我可以通过切换兼容性视图使其正常工作,尽管控制台错误并没有消失。
是否有任何关于IE9导致这一点,更重要的是,我如何解决这个问题?
我也有同样的问题。我使用了以下代码:
<object type="application/x-shockwave-flash" data="/files/banners/64/64_300x250.swf" width="300" height="250">
<param name="movie" value="/files/banners/64/64_300x250.swf"/>
<param name="wmode" value="transparent"/>
</object>
我只是嵌入flash与常规对象标签(没有SWFObject和没有嵌入回退)。我的flash文件调用JS函数窗口。通过ExternalInterface打开:
ExternalInterface.call("window.open", url, target, features);
不工作的地方:上面的链接建议将其更改为"document"。打开",这不起作用。此外,试图强制页面以IE-8模式呈现也不起作用。例如:
<meta http-equiv="X-UA-Compatible" content="IE=8" />
什么起作用了:只需在对象标签中添加"name"one_answers"id"就解决了问题。例如:
<object type="application/x-shockwave-flash" data="/files/banners/64/64_300x250.swf" width="300" height="250" name="flash_object" id="flash_object">
也有同样的问题,下面的链接帮你解决了
http://msdn.microsoft.com/en-us/library/gg622942%28v=VS.85%29.aspx