如何从父页面调用iframe中的函数?
答案 0 :(得分:14)
只要框架页面位于同一个域(或在子域上,并且您正在设置document.domain),您需要访问框架元素的 contentWindow 属性。例如:
$("#myFrame")[0].contentWindow.myFunction();
// or, if jQuery hasn't made you lazy
document.getElementById("myFrame").contentWindow.myFunction();
大多数浏览器也支持 contentDocument ,但Internet Explorer不支持。如果您的框架页面位于不同的域上,那么您将收到“拒绝访问”错误。
答案 1 :(得分:3)
$("iframe").each(function()
{
$(this).one("load", function()
{
$(this)[0].contentWindow.myFunction();
});
});
有必要加载iframe;)
答案 2 :(得分:2)
像专业人士一样:
$("#myFrame").prop('contentWindow').abc();
答案 3 :(得分:0)
top.frames['my_frame'].myFunc();
答案 4 :(得分:0)
您可以使用其ID
选择iFramedocument.getElementById(iframeId).contentDocument
但我不确定您是否可以访问其JavaScript, 特别是如果子iFrame来自不同的域