在我的chrome扩展程序中,而不是使用任何html页面,正在从背景js页面添加shadow DOM。
似乎没有任何事件被推送用于分析。
将扩展名添加为影子根后,结构如下所示
现在chrome扩展manifest.json看起来像
"manifest_version": 2,
"content_security_policy": "script-src 'self' https://ssl.google-analytics.com; object-src 'self'",
"background": {
"scripts": ["js/background.js"],
"persistent": true
},
加载了很少的其他背景文件。
在background.js中,添加了所有DOM元素的主文件按如下方式加载
var mainJS = chrome.extension.getURL("js/chromewindow.js");
var rawFile = new XMLHttpRequest();
rawFile.open("GET", mainJS, true);
rawFile.onreadystatechange = function() {
if (rawFile.readyState === 4 && (rawFile.status === 200 || rawFile.status === 0)) {
var text = rawFile.responseText;
chrome.tabs.executeScript(tab.id, {
code: text + ";onMyExtensionLoad('" + from + "');"
});
}
};
在chromewindow.js中,我添加了常用的分析代码,如下所示
var _gaq = _gaq || [];
var ga = document.createElement('script');
ga.type = 'text/javascript';
ga.async = true;
ga.src = 'https://ssl.google-analytics.com/u/ga_debug.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(ga, s);
_gaq.push(['_setAccount', 'UA-XXXXXXXX-X']);
_gaq.push(['_trackPageview']);
我还包含以下代码来跟踪onclick事件
function trackButton(e)
{
_gaq.push(['_trackEvent', e.target.id, 'clicked']);
console.log("Track event called");
};
当我执行此操作时,我发现正在加载ga_debug.js文件。但是我找不到像___ utm.gif那样的任何请求。
控制台也没有错误。
我在哪里错过了一些东西。请帮助。