我知道MessageEvent
has source
属性是发送消息的窗口对象。现在如何让这些信息检查主文档中的哪个 iframe(当然还有消息到达时的主文档中)是该特定消息的来源?是唯一可用的选项来检查location.href
on the event.source
window 对象,然后循环所有 iframe 以检查哪个是匹配的?如果主文档中存在具有相同源 url 的 iframe 怎么办?
迭代页面上的所有 iframe 并对其进行身份比较window
对象。
window.addEventListener('message', function(e) {
if(e.origin === 'https://www.example.com') {
var iframes = document.getElementsByTagName('iframe');
for(var i = 0; i < iframes.length; i++) {
if(e.source === iframes[i].contentWindow) {
// Do stuff with iframes[i]
}
}
}
}
我相信这适用于所有现代浏览器;我很想听听是否有人遇到问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)