我試圖對此編碼幾個小時,但仍然無法完成。它一直告訴我「權限被拒絕」。彈出窗口中的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