2014-03-05 38 views
3

我有一些代碼使用.postMessage()與iframe進行通信,這意味着它需要在message上添加一個偵聽器以接收來自iframe的通信。我使用的是常用的代碼爲:是否window.addEventListener('message')覆蓋其他偵聽器?

window.addEventListener('message', processMessage, false); 

這個代碼在客戶端的頁面上有一堆其他的東西上運行:分析,社交按鈕,等等,等等,我注意到,當我添加了一個console.logprocessMessage函數調試來自iframe的通信,它從第三方插件獲取大量其他流量,這些插件也使用.postMessage

忽略它們不是問題,因爲我正在尋找來自iframe的非常特定的消息,但我想確保不會覆蓋任何聽衆應該從FB腳本中獲取這些消息的內容,以及等等。我之前遇到過多個window.onresize事件會覆蓋另一個事件。這是消息的事件偵聽器的問題嗎?

+0

具體使用'addEventListener'不會覆蓋任何偵聽器。關於你的「過濾」,看看「postMessage」的MDN文檔 - 有一種過濾方法:https://developer.mozilla.org/en-US/docs/Web/API/Window.postMessage – Ian

+0

你可以找到綁定事件處理程序的所有方法的一個很好的解釋,以及它們在這裏的區別:http://www.quirksmode.org/js/introevents.html。 –

回答

相關問題