影子DOM内的Google分析不起作用

时间:2016-11-11 08:54:03

标签: javascript html google-chrome-extension google-analytics shadow-dom

在我的chrome扩展程序中,而不是使用任何html页面,正在从背景js页面添加shadow DOM。

似乎没有任何事件被推送用于分析。

将扩展名添加为影子根后,结构如下所示

enter image description here

现在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那样的任何请求。

控制台也没有错误。

我在哪里错过了一些东西。请帮助。

0 个答案:

没有答案