在我的 chrome 扩展中,没有使用任何 html 页面,而是从后台 js 页面添加影子 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 请求。
控制台中也没有错误。
我想知道我在哪里遗漏了一些东西。请帮忙。