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

时间:2015-04-25 12:45:28

标签: javascript google-chrome google-chrome-extension google-analytics

我的Chrome扩展程序识别特定标签的网址,然后在图标点击时修改该活动标签的内容。 我想以某种方式衡量它的用法。这是扩展的逻辑:

- 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'"

并将Google 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"});
});

..它不起作用,因为谷歌分析告诉我“未安装跟踪”,我想不出另一种添加方法。

如何查看此扩展程序的用法?​​

1 个答案:

答案 0 :(得分:1)

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

跟踪的工作方式是在页面中添加另一个<script>标记,然后将其从content script's isolated context中删除并进入页面的上下文。这就是为什么你的脚本无法看到启用跟踪的原因(你可能也打破了页面自己的跟踪)。

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