2011-05-14 33 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

相关问题