我有一些使用.postMessage()
与iframe通信的代码,这意味着它需要在message
上添加一个侦听器来接收来自iframe的通信。我正在使用通常的代码:
window.addEventListener('message', processMessage, false);
此代码在客户端页面上运行,其中包含许多其他内容:分析,社交按钮等。我注意到我在console.log
函数中添加了processMessage
以进行调试来自iframe的通信,它正在从使用.postMessage
的第三方插件中获取大量其他流量。
忽略它们不是问题,因为我正在寻找来自iframe的非常具体的消息,但我想确保我不会覆盖任何应该从FB脚本中获取这些消息的侦听器等等向前。我之前遇到过多个window.onresize
事件覆盖彼此的问题。这是消息的事件监听器的问题吗?
答案 0 :(得分:11)
addEventListener
不会覆盖现有的事件侦听器,它只是添加一个新方法,如方法名称所暗示的那样。必须使用removeEventListener
方法删除现有侦听器。