当我意识到我无法直接在内容脚本中进行跟踪时。我开始使用后台 HTML 跟踪我的数据。通过 Content Script tracking with Google Analytics
当我设置我的后台脚本时,我发现它不支持内联脚本。所以我将代码放在一个 js 文件中并使用“src=filename.js”来包含它。通过 chrome extension insert content script on browser action
但最后有个问题:我根本无法加载ga.js,因为它仍然违反规则。这是我得到的:
Refused to load the script 'https://ssl.google-analytics.com/ga.js' because it violates the following Content Security Policy directive: "script-src 'self' chrome-extension-resource:".
我的扩展结构:
有关此问题的更多信息:
背景.html:
<html>
<script src="tracker.js"></script>
<body></body>
</html>
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);
})();
感谢您的任何帮助!
最佳答案
这看起来不错的样子。你走在正确的轨道上。您只需要更新您的 manifest.json 文件以允许从 google 域下载脚本。
假设您正在使用带有 manifest_version:2
的 manifest.json 文件.您应该将此行添加到 list
"content_security_policy": "script-src 'self' https://ssl.google-analytics.com; object-src 'self'",
更多信息:https://developer.chrome.com/docs/extensions/mv2/tut_analytics/
关于google-chrome-extension - Chrome 扩展程序 background.html 中的 Google Analytics 跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12985723/