我对 iFrame 与父级或包含网页之间的通信有疑问。
我可以在 iFrame 中触发事件并在包含它的父级网页中处理它吗? iFrame 和父页面属于同一个子域。
最佳答案
使用评论中提供的 Sheikh Heera 链接,是的,您可以在 iframe 中触发事件并在父级中处理它。
var doc = iframe.contentDocument || iframe.contentWindow.document;
doc.getElementById("myDiv").addEventListener('click',function() {
//doStuffHere
});
这是一个 fiddle :http://jsfiddle.net/9sfm9/
或者只是在 iframe 的 JavaScript 中调用 parent.doFunction()
,假设 doFunction()
是父页面中的一个函数。示例:
父脚本:
var doFunction = function() {
alert("I was triggered from an iframe");
}
iframe 脚本:
parent.doFunction();
这是一个 fiddle :http://jsfiddle.net/9sfm9/2/
关于javascript - 处理父网页中的 iFrame 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18668541/