4

我有一个关于 iFrame 和父级或包含网页之间通信的问题。

我可以在 iFrame 中触发事件并在包含它的父页面中处理它吗?iFrame 和父页面属于同一个子域。

4

1 回答 1

3

使用评论中提供的 Sheikh Heera 链接,是的,您可以在 iframe 中触发事件并在父级中处理它。

var doc = iframe.contentDocument || iframe.contentWindow.document;
doc.getElementById("myDiv").addEventListener('click',function() {
    //doStuffHere
});

这是一个小提琴:http: //jsfiddle.net/9sfm9/


或者只是调用parent.doFunction()iframe 的 JavaScript,假设doFunction()是父页面中的一个函数。例子:

父脚本:

var doFunction = function() {
    alert("I was triggered from an iframe");
}

iframe 脚本:

parent.doFunction();

这是一个小提琴:http: //jsfiddle.net/9sfm9/2/

于 2013-09-07T00:58:19.867 回答