gpt4 book ai didi

javascript - 如何检查消息(postMessage)来自哪个跨域iframe?

转载 作者:数据小太阳 更新时间:2023-10-29 05:33:59 30 4
gpt4 key购买 nike

我知道 MessageEventsource 属性,它是发送消息的窗口对象。现在如何让这些信息检查主文档中的哪个 iframe(当然还有消息到达的主文档中)是该特定消息的来源?是否只有检查 event.source 窗口对象上的 location.href 的可用选项,然后循环所有 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]
}
}
}
}

我相信这适用于所有现代浏览器;我很想知道是否有人对此有任何疑问。

关于javascript - 如何检查消息(postMessage)来自哪个跨域iframe?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12378694/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com