2011-05-14 72 views
2

iframe和父文檔都位於同一個域中。我想要做的是給iframe中運行的js一個駐留在父文檔中的回調函數。這可能嗎?是否有可能從iframe中的JS調用父文檔中的Javascript函數?

 window.frames["testFrame"].org.myorg.events.onDataReady.addListener(function (e) { 
       alert("Data ready!"); 
} 

我想 「testFrame」 來調用匿名函數。上面的js將在父文檔中。這可能嗎?

謝謝。 更新

以下工作:

$(document).read(function(){ 
    $(frameObj).load(function() { 
       window.frames["testFrame"].org.myorg.events.onDataReady.addListener(function (e) { 
        var doc = $("#summaryFrame")[0].contentDocument; 
        doc.open(); 
        doc.writeln(e.data.summaryHtml); 
        doc.close(); 
       }); 
}); 
+0

你試過了嗎?發生了什麼? – 2011-05-14 23:04:10

+0

大衛 - 其實我認爲它會工作..問題是我想在框架加載$(「#myFrame」)後運行此代碼。load() – Nick 2011-05-14 23:07:50

+0

「是」。但一般不會跨網站。 – 2011-05-14 23:28:47

回答

3

是的,你可以 - 我以前在以前的工作做了很多次(...他們的「軟件」基本上是1000幀和標籤文件)。

假設你在你的上邊框有這樣的代碼:

function blah() { alert("it worked!"); } 

您可以在iframe中調用這個...

top.blah(); 

此外,您還可以有家長來電分解成子,但我認爲其他方式更容易。

+1

所以,你可以..我的代碼是錯誤的 – Nick 2011-05-14 23:40:58

+1

Exaaaaactly :)(但如果我說你會生我的氣) – 2011-05-15 02:21:29

相關問題