我可以将 Google Analytics 添加到没有 popup.html 的 Chrome 扩展吗?

Can I add Google Analytics to a Chrome extension which doesn't have a popup.html?

我的 chrome 扩展正在识别特定选项卡的 URL,然后,在单击图标时,它会修改该活动选项卡的内容。 我想以某种方式衡量它的使用情况。这是扩展程序的逻辑:

- manifest.json [injecting jquery & jquery plugin]
- background.js [ on extension's icon click, it executes content_script.js and tracking.js]
- icon
- content_script.js [ it modifies page content ]
- tracking.js (GA code, as provided by google Analytics then modified according to https://davidsimpson.me/2014/05/27/add-googles-universal-analytics-tracking-chrome-extension/ );

我想看看扩展的按钮被点击了多少次。我尝试将适当的权限添加到 manifest.json:

  "content_security_policy": "script-src 'self' https://www.google-analytics.com; object-src 'self'"

并将 Analytics 代码添加到单独的 .js 文件 (tracking.js),并在单击扩展图标时执行它,如下面 background.js 中所述:

chrome.browserAction.onCLicked.addListener(
function(tab) {
chrome.tabs.executeScript(null, {file:
"content_script.js"});
chrome.tabs.executeScript(null, {file:
"tracking.js"});
});

.. 它不起作用,因为 Google 分析告诉我 'tracking not installed',我想不出另一种添加它的方法。

如何查看此扩展程序的使用情况?

您要做的是将跟踪作为内容脚本注入选项卡。

跟踪通过在页面中添加另一个 <script> 标记来实现,这会将它踢出您的 content script's isolated context 并进入页面的上下文。这就是为什么您的脚本看不到启用的跟踪(并且您也可能刚刚破坏了页面自己的跟踪)。

您需要在后台页面中安装跟踪代码并从那里发送事件。为此,只需将 tracking.js 添加到后台脚本列表中即可;之后,按照通常的GA方式发送事件。