处理父网页中的iFrame事件

时间:2013-09-07 00:41:16

标签: javascript events iframe javascript-events event-handling

我对iFrame与父级或包含网页之间的通信有疑问。 我可以在iFrame中触发事件并在包含它的父网页中处理它吗? iFrame和父页面属于同一个子域。

1 个答案:

答案 0 :(得分:2)

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

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

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


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

父脚本:

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

iframe脚本:

parent.doFunction();

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