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