postMesage 被多次触发
1.按钮点击的时候会给iframe子页面传值,第一次点击的,子页面收到一次信息,
第二次点击的时候,子页面就收到两条信息,这个按钮点第三次的时候,子页面收到三次信息。在不刷新页面的情况下,第几次点击,子页面就收到几次消息。
`
sendMessageToChildren: function (data, id) {
this.log('发送数据到游戏页面')
var f_window = document.getElementById(id);
if (f_window) {
var url = f_window.src;
} else {
this.log('未获取到iframe信息');
return
}
f_window.contentWindow.postMessage(data, url);
},
//获取父元素传送的值
getFatherMsg: function (callback) {
this.log('游戏面进入监听');
var _this = this;
window.addEventListener('message', function (e) {
_this.log('监听到父页面数据');
_this.log(e.data);
callback && callback(e.data);
}, false);
},
`
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
因为你每调用一次getFatherMsg就绑定了一次事件,事件绑定要拿到外面哇