2017-04-03 96 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); 

谢谢!