0

我有一個適用於版本48的Chrome擴展,但由於某些原因,它無法在49上運行,因此無法在其上找到任何內容發佈/更改日誌。Chrome消息傳遞:chrome.runtime.sendMessage未在最新版本上工作49

不工作的部分是消息傳遞。

Backgound頁:

chrome.runtime.onMessage.addListener(function(msg, sender){ 
console.log(msg); 
}); 

chrome.runtime.sendMessage({info:"this is a test"}); 

這將在49版本不輸出任何東西,但會在版本48

我該如何解決這個問題?

+0

您是否嘗試調試。你在控制檯中遇到什麼錯誤?嘗試使用文檔編寫的完整語法,例如'function(msg,sender,sendResponse)',看看是否有效。 –

+0

@NikhilSharma我想告訴你它的工作,但它不。我也希望有某種錯誤,但可悲的是,它沒有返回任何東西。任何其他建議? – hex20dec

+0

讓我在我的機器上重現這一點,然後我會讓你知道。 –

回答

3

這是預期的行爲。消息不應該被髮送頁面接收。舊的行爲是一個錯誤。這在這些錯誤報告中討論:479425479951

+0

謝謝你!但是,如何從背景頁面中觸發事件並在背景頁面中捕獲它? – hex20dec

+2

@ hex20dec如果你在同一頁面上,你可以直接調用一個函數,不需要消息傳遞。無論如何,如果你想要的話,你可以使用標準的事件API:https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events – rsanchez

相關問題