[英]Invoking a JS method exposed by Flex app from a secondary window
我目前正在开发一个用 Flex 制作的旧应用程序(基本上是 Flash),它仍然需要在 IE11 中工作(我知道......我知道)。 这个 webapp(我们称之为 A)公开了一个可从 JavaScript 调用的方法。 A也有一个按钮来打开一个新的浏览器window(叫它B)。 B 在“beforeunload”事件上有一个监听器:当用户要关闭 B 时,B 必须调用 A 中的 JS 方法。希望我解释得对。 使用带有参数“--disable-web-security”的谷歌浏览器,执行 A 中定义的方法,我们对此很满意。 我们使用以下指令:
window.opener.document.getElementById('flashAppID').methodName();
我们面临的问题是IE11在B试图执行A中的JS方法时抛出如下异常:
{
[functions]: ,
__proto__: {
[functions]: ,
__proto__: {
[functions]: ,
__proto__: null
},
message: "",
name: "Error"
},
description: "Authorization denied",
message: "Authorization denied",
name: "Error",
number: -2146828218,
stack: "Error: Authorization denied
at callOpener (http://domainname.ext/pageB.html:18:21)"
}
我们试图禁用 IE 中任何可能的安全限制,但没有运气; 有没有人建议如何避免这种异常?
提前致谢。
该问题是由以前的开发人员出于未知原因编写的以下作业引起的:
document.domain = "domainname.ext";
在评论该行之后,一切都开始按预期工作。 因此,如果有人会遇到相同或类似的问题,请确保不要覆盖document.domain
属性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.