Chrome Extension的background.html中的Google Analytics跟踪

AGa*_*yer 15 google-analytics google-chrome-extension

当我意识到我无法直接在内容脚本中跟踪.我开始使用后台HTML跟踪我的数据.通过Google Analytics的内容脚本跟踪

当我设置我的后台脚本时,我发现它不支持内联脚本.所以我将代码放在一个js文件中并使用"src = filename.js"来包含它.通过chrome扩展插入内容脚本在浏览器操作上

但最后有一个麻烦:我根本无法加载ga.js,因为它仍然违反规则.这是我得到的:

拒绝加载脚本" https://ssl.google-analytics.com/ga.js ",因为它违反了以下内容安全策略指令:"script-src'self'chrome-extension-resource:".

我的扩展结构:

  1. background.html
  2. 的script.js
  3. tracker.js

有关此问题的更多信息:

background.html:

<html>
<script src="tracker.js"></script>
<body></body>
</html>
Run Code Online (Sandbox Code Playgroud)

tracker.js :( 我隐藏了我的ID)

var _gaq = _gaq || [];
_gaq.push(['_setAccount', _gaID]);
_gaq.push(['_trackPageview']);

(function() {
  var ga = document.createElement('script');
  ga.type = 'text/javascript';
  ga.async = true;
  ga.src = 'https://ssl.google-analytics.com/ga.js';
  var s = document.getElementsByTagName('script')[0];
  s.parentNode.insertBefore(ga, s);
})();
Run Code Online (Sandbox Code Playgroud)

感谢您的帮助!

Edu*_*rdo 13

看起来不错.你走在正确的轨道上.您只需更新manifest.json文件即可从google域下载脚本.

假设您正在使用manifest.json文件manifest_version:2.您应该将此行添加到清单中

"content_security_policy": "script-src 'self' https://ssl.google-analytics.com; object-src 'self'",
Run Code Online (Sandbox Code Playgroud)

更多信息:

http://developer.chrome.com/extensions/tut_analytics.html