[英]Reload iframe from pop-up window opened from iframe
問題
如何使用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']).'";
??????
我們在這里分解您的代碼:
window.opener.parent.location.href="'.urldecode($_GET['return_url']).'";
window
表示當前彈出窗口的window
對象。 目前很好。 .opener
表示打開此窗口的窗口對象,它將是您要重新加載的iframe。 還好。 .parent
表示iframe的父級,即整個窗口。 這是你的問題。 它應該是:
window.opener.location.href="'.urldecode($_GET['return_url']).'";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.