2012-02-20 92 views
0

我在一個iFrame(同一個域)中有一個函數,我想從彈出窗口調用。所以基本上我想要做一些像window.opener.document.getElementById('topFrame')。contentWindow.setActive('1');從window.opener在iframe中調用javascript函數

在彈出窗口的window.opener中,我有一個iframe的ID爲「topFrame」(並命名爲「topFrame」,以防萬一這是一個更好的解決方案),其中必須執行函數setActive('1')。 但是,上述代碼不起作用,谷歌並沒有真正幫助爲這個特定案例尋找解決方案。

任何人有想法?

THX

+0

在哪一點不起作用?你有沒有嘗試過日誌記錄來驗證你已經成功地獲得了iframe的引用等?如果你能指出哪個「點」打破了它,它將有助於調試問題。 – GregL 2012-02-20 08:32:11

回答

0

你行應實際工作也可能是問題的一個計時問題:很可能是你的iframe還沒有在你試圖調用其功能的時間完成加載。在loadDomReady之後撥打您的電話應該有效。

(您也可以嘗試在超時時間內包裝您的呼叫,並查看它是否在稍後的點)。

0

如果從iframe的窗口中打開彈出那麼你應該使用

window.opener.setActive('1'); 

因爲window.opener本身將返回。它可能是因爲我也犯這樣的錯誤的情況下的iframe窗口。希望你的問題得到解決:)