Javascript 从使用jquery创建的iframe调用父函数
考虑以下代码:Javascript 从使用jquery创建的iframe调用父函数,javascript,jquery,Javascript,Jquery,考虑以下代码: function callme() { alert('call'); } $(function(){ var iframe = $('<iframe />').attr('src', 'b.php').appendTo('body'); //call 'callme' function from parent }); 函数callme(){ 警报(“呼叫”); } $(函数(){ var iframe=$('').attr('src',
function callme() {
alert('call');
}
$(function(){
var iframe = $('<iframe />').attr('src', 'b.php').appendTo('body');
//call 'callme' function from parent
});
函数callme(){
警报(“呼叫”);
}
$(函数(){
var iframe=$('').attr('src','b.php')。appendTo('body');
//从父级调用“callme”函数
});
我不想编辑b.php。
是否有任何方法可以仅使用父文件中的javascript调用父“callme”函数?不确定“我不想编辑b.php
”部分。您的问题是如何从iframe调用父函数,b.php
位于iframe中。如何让它调用父级callme()
,而不修改b.php
从b.php
可以调用
parent.callme();
或者您的问题是,在
b.php
完成加载后如何调用callme()
?要从iframe
调用父Javascript函数,您可以使用:
window.parent.callme();
请记住,如果iframe位于不同的域上,这将不起作用。如果它位于不同的域,则需要将两个页面document.domain
设置为相同的值,如下所示:
// in both the parent and iframe
document.domain = 'site.com';
我希望使用iframe变量并在可能的情况下调用该方法。@danip仍然不清楚,使用iframe变量是什么意思?如果您只想调用
callme()
,则不需要iframe
变量,只需在创建iframe
后立即使用callme()
即可,说明iframe
变量与callme()属于同一窗口;因此,调用iframe[0].ownerDocument.window.callme()
将执行您想要的操作,但不需要间接寻址。我需要间接寻址。代码示例只是一个简化的情况。Thanks@danip,是否将该变量传递到属于另一个窗口的函数中?