我的內容腳本和我的測試回顯擴展的後臺腳本之間的通信基於browser.runtime.connect。我在github上發佈了我的代碼和擴展包。Microsoft Edge中的內容腳本和後臺腳本之間的通信
此擴展的簡短說明。您可以在this GitHub test page上運行擴展。內容腳本使用browser.runtime.connect連接到後臺腳本,並通過發送消息browser.runtime.Port當單擊「提交」按鈕時的對象。後臺腳本接收消息,將其轉換爲大寫併發回。然後,內容腳本接收修改的消息並將其顯示在頁面上(收到的消息字段)。
當我將它添加到邊緣時,此擴展可以正常使用加載擴展按鈕,如Microsoft Edge文檔中所述。因此,如果您打開測試頁加載的擴展名,您應該看到「HELLO FROM BACKGROUND SCRIPT」文本中的收到消息字段。
但有如果本擴展從軟件包安裝 所以,你可以嘗試一個奇怪的問題...延長不工作,直到我打開這個擴展的背景頁面並重新加載測試頁 ...重現:
- 從包裝
- 打開測試頁安裝這個擴展。後臺腳本無法正常工作(收到的消息字段爲空),並且此腳本未收到已發送的消息...頁面重新加載或關閉\擴展名不起作用。
- 打開後臺頁面這個擴展。那麼這個頁面可能會被關閉。
- 刷新測試頁
- 擴展開始正常工作...
注:本次測試擴展是基於MDN(不好意思公佈runtime.connect例子,但我可以不要插入兩個以上的鏈接...)。
你能幫我解決這個問題嗎?也許我錯過了文檔中的某些東西...
我也曾經遇到這個問題,對於appx包,後臺頁面不會加載,直到您手動檢查它。鼓勵在這裏提出一個錯誤https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/ –
@HaibaraAi感謝您的評論。現在我知道其他開發者也有同樣的問題。我四天前提出了這個錯誤https://developer.microsoft。com/en-us/microsoft-edge/platform/issues/12156180 /但我仍然沒有收到回覆......看來這個過程並不快。你能將這個錯誤標記爲可重現的嗎?我的意思是,你可以推**我嗎?也許這將有助於加快這個錯誤報告處理... –
感謝提高錯誤!我upvoted:) –