0
如何使用JS來關閉彈出窗口,從一個iframe打開,然後重新加載IFRAME(不是整個頁面)
什麼是已經完成
在我從一個iframe中打開一個彈出窗口。 一旦這個彈出窗口到達某個頁面,我想讓這個彈出窗口重新加載IFRAME,然後關閉彈出窗口。
我有什麼現在
<script type="text/javascript">
window.opener.parent.location.href="'.urldecode($_GET['return_url']).'";
window.close();
</script>
現在
發生了什麼彈出窗口關閉成功。整個頁面發送到iframe網址,而不是僅僅把它發送到IFRAME ...
編輯: 我已經試過:
window.opener.location.href="'.urldecode($_GET['return_url']).'";
但是,這不自iframe或頁面沒有重新加載之後,通過這一行,並且它不關閉彈出窗口。在Chrome中,窗口關閉,但iframe /頁面不會重新加載
原來,我得到的頁面是不同的域(一個屬於我們網站一部分的不同域)。但隨後,爲什麼將這項工作
window.opener.parent.location.href="'.urldecode($_GET['return_url']).'";
,而不是
window.opener.location.href="'.urldecode($_GET['return_url']).'";
??????
這是我原本的,但有一個錯誤。 在Firefox中,當我使用 window.opener.location.href =「'。urldecode($ _ GET ['return_url'])。'」; 由於iframe或頁面沒有重新加載,它不會越過這條線,並且它不會關閉彈出窗口。 在Chrome中,窗口關閉,但iframe /頁面不會重新加載 – 2012-04-03 13:42:56
@NolanKnill聽起來像是一個跨站點腳本錯誤。你的iframe和彈出窗口必須共享相同的'document.domain',否則你不能在它們之間執行javascript。 – jbabey 2012-04-03 13:49:42
他們是相同的域,但不會window.opener.parent.location.href不工作,如果它是跨站點腳本? – 2012-04-03 13:51:31