是否可以在iframe中从JS调用父文档中的Javascript函数?

时间:2011-05-14 23:02:17

标签: javascript jquery

iframe和父文档都在同一个域中。我想做的是给在iframe中运行的js一个驻留在父文档中的回调函数。这可能吗?

      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();
                });
});

1 个答案:

答案 0 :(得分:3)

是的,你可以 - 我在之前的工作中已经做了很多次(...他们的“软件”基本上是1000帧和标签文件)。

假设您的代码位于顶部框架中:

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

你可以在iframe中调用它......

top.blah();

此外,您可以让父母打电话给孩子,但在我看来,相反的方式更容易。