Shadow DOM 中的 Google 分析不起作用

2024-04-16

在我的 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 请求。

控制台中也没有错误。

我想知道我在哪里遗漏了一些东西。请帮忙。


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Shadow DOM 中的 Google 分析不起作用 的相关文章

随机推荐

  • 有没有办法检测手机和手持设备上的3G和2G连接速度?

    有没有办法检测手机和手持设备上的 3G 和 2G 连接 就像如果我想在用户使用 3G 时提供高端网站 如果用户使用 2G 则提供高度优化的版本 在 Android 2 2 中 有一个 JS 对象可以实现这一点 您可以根据连接类型编写一个供
  • 如何在 PHP 中将字符串的第一个字符变为小写?

    我无法使用斯特洛尔 https www php net manual en function strtoupper php因为它会影响所有角色 我应该使用某种正则表达式吗 我收到一个字符串 它是产品代码 我想在不同的地方使用此产品代码作为搜
  • 寻找最接近的斐波那契数列

    我正在尝试解决一个更大的问题 并且我认为该程序的重 要部分花费在低效的计算上 我需要计算给定数字 N 的区间 P Q 其中 P 是 到 N 的最小斐波那契数 目前 我正在使用地图来记录斐波那契数的值 查询通常涉及搜索最多 N 的所有斐波那契
  • 使用按钮更新 Matplotlib 中的注释

    我正在修改 Matplotlib 文档中的按钮示例 以在图中添加文本注释 我的问题是 我无法找到每次按下按钮时更新注释的正确方法 因为注释重叠 我尝试了remove 方法 但不起作用 import numpy as np import ma
  • 使用 Core Reporting Google API v4 (Java) 显示超过 10000 行

    我正在使用以下方式获取 Google Analytics 数据核心报告 API v4 https developers google com analytics devguides reporting core v4 对于给定的维度和指标组
  • 数据访问库返回数据集或对象

    在使用调用存储过程的库时是否存在普遍共识 返回数据集或使用 sqldatareader 填充自定义对象 数据传输对象的序列化成本是否低于数据集 就我个人而言 我将 SqlDataAdapter 与 DataTables 一起使用 数据表有W
  • 如何原子地否定 std::atomic_bool?

    朴素的布尔否定 std atomic bool b b b 似乎不是原子的 我怀疑这是因为operator 触发转换为普通bool 如何原子地执行等效的否定 下面的代码说明了朴素的否定不是原子的 include
  • openh264 - bEnableFrameSkip=0,比特率无法控制

    关于 opencv H 264 有很多问题 但是 他们都没有给出详细的解释 我在 Visual Studio 中使用 openh264 openh264 1 4 0 win32msvc dll 以及 opencv 3 1 使用启用 ffmp
  • Shiny:如何检测选择了哪些手风琴元素?

    我有一个 R Shiny 在那里server R输出大量动态生成的UI对象 而不是处理数百个对象input来处理 我想我可以使用bs accordion https ijlyttle github io bsplus articles ov
  • 如何使用 kotlin 通过 TCP 连接发送和接收字符串

    我在 Windows 上有一个 TCP 服务器 我想在服务器和我的 Android 设备之间发送和接收文本字符串 我花了很多时间搜索使用 Kotlin 的示例 但没有找到任何有用的代码 所以我现在只能创建套接字并连接 fun connect
  • 使用 LINQ to XML 将 HTML 标记保留在 XML 中

    我有一个 xml 文件 我使用 LINQ to XML 从中提取 html 这是该文件的示例
  • 将 char* 传递给需要 unsigned char* 的方法

    我正在开发一些带有 SDK 的嵌入式设备 它有一个类似的方法 MessageBox u8 u8 u8 is typedefed unsigned char when I checked 但我在他们的示例中看到调用如下代码 MessageBo
  • 将数据库(.mdf 文件)附加到 SQL Server 时出错

    我在附加数据库时遇到问题DBName mdf到网络 SQL Server 管理员可以手动附加数据库 但如果我尝试 我会收到以下错误消息 数据库 DBName 无法升级 因为它是只读的 具有只读文件或用户无权修改某些文件 使数据库或文件可写
  • 防止直接访问 PHP 页面

    如何防止我的用户直接访问仅用于 ajax 调用的页面 在 ajax 调用期间传递密钥似乎是一种解决方案 而没有密钥的访问将不会被处理 但制造钥匙也很容易 不是吗 查看源代码的诅咒 p s 使用 Apache 作为网络服务器 编辑 为了回答为
  • Qt4.5:在 app.exec 之前使用基于事件循环的 localsocket

    我遇到了 Qt 的实际问题 我正在使用一个与 QLocalSocket 与另一个进程 管道 unix 套接字 通信的类 并且我需要在其他事件发生之前进行通信 即在 app exec 启动之前 或更准确地说 应用程序启动后立即进行 我正在使用
  • 添加 CarPlay 用户界面

    我正在开发我当前的 iPhone 音频应用程序 以支持 CarPlay 我已经获得Apple的批准并获得了开发权利 并观看了视频 Enabling Your App for CarPlay https developer apple com
  • 如何使用 Groovy 拦截 Java 应用程序中所有方法的执行?

    是否可以拦截应用程序中调用的所有方法 我想和他们一起做一些事情 然后让他们执行 我试图覆盖这种行为Object metaClass invokeMethod 但似乎不起作用 这可行吗 你看过吗Groovy AOP http github c
  • 如何使用css3让循环动画等待

    我有一个 css3 动画 内容如下 webkit keyframes rotate from webkit transform rotate 0deg to webkit transform rotate 360deg animated w
  • 如何使用 Xamarin 在 Android 上禁用移动数据

    类似的问题如何在 Android 上禁用移动数据 https stackoverflow com questions 3644144 how to disable mobile data on android 唯一的区别是我想用 Xamar
  • Shadow DOM 中的 Google 分析不起作用

    在我的 chrome 扩展中 没有使用任何 html 页面 而是从后台 js 页面添加影子 DOM 似乎没有任何事件被推动进行分析 添加扩展作为影子根后 结构如下所示 现在chrome扩展manifest json看起来像 manifest