javascript - 为什么我在 IE9 中从 flash 调用 Javascript 会失败?

标签 javascript flash internet-explorer internet-explorer-9

我的 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 显然没有特别指向任何东西。

虽然控制台错误并没有消失,但我可以通过打开兼容性 View 使其正常工作。

关于 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 文件通过 ExternalInterface 调用 JS 函数 window.open,如下所示:

ExternalInterface.call("window.open", url, target, features);

什么不起作用: 上面的链接建议将其更改为“document.open”,但没有用。还试图强制页面在 IE-8 模式下呈现没有工作。例如:

<meta http-equiv="X-UA-Compatible" content="IE=8" />

有效的方法:只需向对象标签添加“名称”和“id”即可解决问题。例如:

<object type="application/x-shockwave-flash" data="/files/banners/64/64_300x250.swf" width="300" height="250" name="flash_object" id="flash_object">

关于javascript - 为什么我在 IE9 中从 flash 调用 Javascript 会失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8190645/

相关文章:

actionscript-3 - 将 ActionScript 2 SWF 转换为 ActionScript 3 SWF 文件(代码可以被剥离)

html - IE11 : Printing infinite pages

javascript - Hapi/Joi 验证 - 不同的 Joi.regex 取决于另一个键值

javascript - NodeJs Crypto - MD5 哈希不正确

javascript - 当请求及时返回但 JS 线程繁忙时,AJAX 是否可以创建超时?

css - IE(7?) 会扭曲 Sprite 的背景吗?

windows - Windows 7 和 Windows 8.1 之间的 Internet Explorer 11 有何不同?

javascript - Node-soap 客户端-服务器测试

flash - Flash 开发人员的面试问题

java - 游戏开发: "Play Now" via website vs. 下载并安装