2017-04-03 138 views
1

我目前正在使用Chrome擴展,我需要它可以從任何網站進行外部連接。 這裏是我做的:Chrome擴展可從外部連接到所有網址

  • 我想(如果你知道這樣做隨時告訴我:-)的另一種方式)
  • 計數使用內容腳本任何訪問的網站的點擊次數我希望能夠將這些數據發送到我的擴展以存儲它

有沒有辦法可以做到這一點?我試圖使用「外部可連接」,但只能針對特定的預定義域進行。

是否有替代方案與我的Chrome擴展與來自任何網站的腳本進行通信?

謝謝!

+0

你爲什麼要'外部可連接'?你所描述的可以在一個普通的內容腳本中完成,該腳本向'window'或'document'添加一個'click'事件監聽器。您尚未描述網站與您的分機之間的任何實際通信。你只描述了你的擴展的內容腳本監聽'click' DOM事件。 – Makyen

+2

我建議您閱讀[Chrome擴展程序概述](https://developer.chrome.com/extensions/overview)(以及從概述鏈接的頁面)。 [體系結構部分](https://developer.chrome.com/extensions/overview#arch)具有全面的體系結構信息,這些信息應該有助於您理解組織/完成情況的方式。您還應該閱讀[內容腳本](https://developer.chrome.com/extensions/content_scripts)。 – Makyen

+0

謝謝你的回答。我想將數據存儲在我的Chrome擴展的localStorage中。你是說我的內容腳本可以訪問我的擴展的localStorage? –

回答

0

感謝Makyen,我發現我的答案是:

  1. 我可以用chrome.storage來存儲數據,而不是localStorage的。
  2. 我可以寫下面的代碼與我的內容腳本進行通信:

background.js

chrome.extension.onRequest.addListener(function(data, sender, sendResponse){ 
    ... code ... 
}) 

內容的script.js

document.addEventListener("click",function(e){ 
    chrome.extension.sendRequest({text: "hello"}); 
}, false); 

謝謝!