我试图对此编码几个小时,但仍然无法完成。它一直告诉我“权限被拒绝”。弹出窗口中的JavaScript访问父窗口
这是我正在努力完成的。这很难解释,请按照下面的例子。
例如。 domain111.com和domain222.com。 当我在domain111.com上点击弹出链接时,它会弹出domain111.com/popup.html,然后将它重定向到domain222.com。在这个domain222.com上,它会重定向到几页,然后重定向到domain111.com并返回结果。我想将结果从domain111.com发送到domain111.com。
该过程如下所示。 Domain111-popup到 - > Domain111-redirect - > Domain222-redirect xxx Domain222 pages然后重定向到 - > - Domain111 ---发送到父窗口 - > Domain11
这是我的代码。
文件名1.hml上domain111.com
<script type="text/javascript">
function IamParent() {
alert('I am the parent of this window')
}
function PopUP() {
window.open("http://domain222.com/2.htm", 'ALpop').focus();
}
</script>
<body>
<a href="#void(0);" onclick="PopUP();" >Click</a>
</body>
文件名2.HTML上domain222.com
<head>
<title></title>
<meta http-equiv="refresh" content="1;url=http://domain111.com/3.htm?Result=Yes" />
</head>
名2.htm上domain111.com
<script type="text/javascript">
parent.IamParent(); //execute the function from the same domain111.com/1.htm
</script>
请不要建议AJAX或网络请求,因为它不适用于这种情况。
感谢您的阅读。
首先,它弹出到同一个域,它重定向到另一个域,并且该域返回到原始域。所以最后一步和第一步是在同一个域中。 – user359472 2010-06-06 02:22:39
@ user359472:这是禁用整个链的中间步骤。安全引擎现在只允许它。我从来没有见过这样的合理解决方法。在我的公司,我们最终执行了一个DNS别名,以允许第二个域名被重命名,以便它可以工作。虽然这有点冒险。 – 2010-06-06 02:25:36
由于性能问题,我真的不希望父窗口使用Ajax来检查状态。嗯,我想我必须在数据库中存储一些id,并在鼠标重新进入页面时检查它。这可能是目前最好的解决方案。 谢谢你们 – user359472 2010-06-06 02:35:59