2017-07-25 109 views
0

那麼我的問題是很像Proper way to listen as TCP server in Chrome extension製作Chrome應用與Chrome瀏覽器擴展互動

但問題是,上面的問題沒有正確回答和問題仍然存在。

那麼,有沒有辦法讓Chrome應用程序與Chrome擴展程序交互。目的非常類似於上面引用的問題,在恢復中它用於構建TCP服務器並管理標籤網頁中的內容。

據我所知,沒有辦法做到這一點,因爲Chrome應用程序無法訪問網頁內容,並且Chrome擴展程序不允許使用套接字。

因此,歡迎任何想法。提前致謝。

+2

https://developer.chrome.com/extensions/messaging#external –

回答

0

儘管被稱爲"cross-extension messaging",它適用於擴展和應用程序。

大概,你會想要長久的連接;那麼你可以使用:

// In one app/extension that initiates the connection 
// (Probably the app upon a new client connecting) 
var port = chrome.runtime.connect(secondID); 

// In other app/extension 
chrome.runtime.onConnectExternal.addListener(function(port) { 
    port.onMessage.addListener(function(msg) { 
    // See other examples for sample onMessage handlers. 
    }); 
}); 

請記住,你要確保連接來自你信任的東西。雖然防禦不完美,但您應該檢查始發者的擴展程序/應用程序ID - 無論是在您的代碼中還是通過externally_connectable清單鍵(默認爲寬容)過濾掉其餘部分。

相關問題