是否有可能从iframe中的JS调用父文档中的Javascript函数?
问题描述:
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();
});
});
答
是的,你可以 - 我以前在以前的工作做了很多次(...他们的“软件”基本上是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
你试过了吗?发生了什么? – 2011-05-14 23:04:10
大卫 - 其实我认为它会工作..问题是我想在框架加载$(“#myFrame”)后运行此代码。load() – Nick 2011-05-14 23:07:50
“是”。但一般不会跨网站。 – 2011-05-14 23:28:47