[英]Change src of iframe from a popup window
在我的Web應用程序中,用戶可以打開一個彈出窗口以選擇一個編輯對象。 當用戶在彈出窗口上按OK時,應該根據選擇的對象來更新父窗口中iframe的src
(當然還要重新加載iframe)。
我的功能(在父窗口中)是:
function dismissEditPopup(win, newId) {
newId = html_unescape(newId);
var elem_iframe = document.getElementById("iframe_id");
// (*) this line doesn't work
elem_iframe.src = '/view_object/' + newId;
elem_iframe.contentWindow.location.reload();
win.close();
}
從包含腳本的彈出窗口中調用此函數:
<script type="text/javascript">
opener.dismissEditPopup(window, "hash_of_new_object");
</script>
問題是行(*)
靜默失敗。 在這兩個火狐3.6和谷歌鉻的檢查,我看到src
iframe的屬性被更新,但elem_iframe.contentWindow.location.href
不變。 (如果我添加一行elem_iframe.contentWindow.location.href = elem_iframe.src;
則忽略該分配。) Javascript錯誤控制台中沒有錯誤。 奇怪的是,如果我從Javascript控制台分配給elem_iframe.src
,它確實可以按預期工作。
我可以使用document.getElementById("hidden_id").value = newId;
以相同的方式更改隱藏的<input>
字段的document.getElementById("hidden_id").value = newId;
。
一切都從同一網站提供。
(類似於使用Javascript更改iframe src ,但該問題的答案無效,大概是因為從彈出窗口調用了代碼。)
刪除此行:
elem_iframe.contentWindow.location.reload();
它正在重新加載iframe,並且未加載新的src。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.