我对iFrame与父级或包含网页之间的通信有疑问。 我可以在iFrame中触发事件并在包含它的父网页中处理它吗? iFrame和父页面属于同一个子域。
答案 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/