从辅助 window 调用 Flex 应用公开的 JS 方法
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 方法。希望我解释正确。使用 Google Chrome 和参数“--disable-web-security”,执行 A 中定义的方法,我们对此很满意。我们正在使用以下指令:
window.opener.document.getElementById('flashAppID').methodName();
我们面临的问题是,当B试图执行A中的JS方法时,IE11抛出以下异常:
{
[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
属性.
我目前正在开发一个用 Flex(基本上是 Flash)制作的旧应用程序,它仍然需要在 IE11 中运行(我知道……我知道)。这个 webapp(我们称它为 A)公开了一个可从 JavaScript 调用的方法。 A 还有一个打开新浏览器的按钮 window(称之为 B)。 B 在 "beforeunload" 事件上有一个侦听器:当用户要关闭 B 时,B 必须调用 A 中的 JS 方法。希望我解释正确。使用 Google Chrome 和参数“--disable-web-security”,执行 A 中定义的方法,我们对此很满意。我们正在使用以下指令:
window.opener.document.getElementById('flashAppID').methodName();
我们面临的问题是,当B试图执行A中的JS方法时,IE11抛出以下异常:
{
[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
属性.