我有一个关于 iFrame 和父级或包含网页之间通信的问题。
我可以在 iFrame 中触发事件并在包含它的父页面中处理它吗?iFrame 和父页面属于同一个子域。
我有一个关于 iFrame 和父级或包含网页之间通信的问题。
我可以在 iFrame 中触发事件并在包含它的父页面中处理它吗?iFrame 和父页面属于同一个子域。
使用评论中提供的 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/