簡體   English   中英

從彈出窗口更改iframe的src

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM