我导航到的大多数页面上的脚本是什么?

Mat*_*att 1 html javascript tracking nodes htmlelements

这个代码我在随机页面上看到很多.

我认为这是一个谷歌跟踪代码,但有人可以确认吗?

当我在JSFiddle中运行它时似乎没有任何事情发生.

var tvt = tvt || {};
tvt.captureVariables = function(a) {
  for (var b = new Date, c = {}, d = Object.keys(a || {}), e = 0, f; f = d[e]; e++)
    if (a.hasOwnProperty(f) &&
      "undefined" != typeof a[f]) try {
      var g = [];
      c[f] = JSON.stringify(a[f], function(a, b) {
        try {
          if ("function" !== typeof b) {
            if ("object" === typeof b && null !== b) {
              if (b instanceof HTMLElement || b instanceof Node || -1 != g.indexOf(b)) return;
              g.push(b)
            }
            return b
          }
        } catch (c) {}
      })
    } catch (l) {}
    a = document.createEvent("CustomEvent");
  a.initCustomEvent("TvtRetrievedVariablesEvent", !0, !0, {
    variables: c,
    date: b
  });
  window.dispatchEvent(a)
};
window.setTimeout(function() {
  tvt.captureVariables({
    'dataLayer': window['dataLayer']
  })
}, 2000);
Run Code Online (Sandbox Code Playgroud)

Oka*_*Oka 10

这是由Google的Tag Assistant扩展程序注入的脚本.来源要大得多.

我unminifed的源代码,可以发现这里的要点.请注意,它长约6300行 - 这个答案的长度大约是两万个字符.

注入发生在第3030行附近,具有动态创建的脚本.注意kg,以及他们如何依赖Function.prototype.toString获取函数的源代码.

lg = function(a) {
  if (!a.Ab && (a.Ab = !0, a = a.X(), a = Object.keys(a).map(function(a) {
    return "'" + a + "': window['" + a + "']"
  }), 0 < a.length && (!aa.tvt || !aa.tvt.captureVariables))) {
    var b = document.createElement("script");
    b.textContent = "var tvt = tvt || {}; tvt.captureVariables = " + kg + ";window.setTimeout(function() {tvt.captureVariables({" + a.join(",") + "})}, 2000);";
    (document.head || document.documentElement).appendChild(b)
  }
}
Run Code Online (Sandbox Code Playgroud)

kg可以在之后立即找到,如下所示,与您发布的内容相对应.

kg = function(a) {
  for (var b = new Date, c = {}, d = Object.keys(a || {}), e = 0, f; f = d[e]; e++)
    if (a.hasOwnProperty(f) &&
      "undefined" != typeof a[f]) try {
      var g = [];
      c[f] = JSON.stringify(a[f], function(a, b) {
        try {
          if ("function" !== typeof b) {
            if ("object" === typeof b && null !== b) {
              if (b instanceof HTMLElement || b instanceof Node || -1 != g.indexOf(b)) return;
              g.push(b)
            }
            return b
          }
        } catch (c) {}
      })
    } catch (l) {}
  a = document.createEvent("CustomEvent");
  a.initCustomEvent("TvtRetrievedVariablesEvent", !0, !0, {
    variables: c,
    date: b
  });
  window.dispatchEvent(a)
};
Run Code Online (Sandbox Code Playgroud)

关于扩展的模糊,来自About Tag Assistant.

关于Tag助手

Tag Assistant是一个Chrome扩展程序,可自动验证任何指定页面上Google跟踪脚本的实施情况.它目前适用于:

  • Google Analytics(ga.js)

  • Google Analytics(dc.js)

  • AdWords转化跟踪

  • AdWords再营销(旧版)

  • AdWords再营销(新的再营销代码)

  • 双击Floodlight

  • Google跟踪代码管理器

Tag Assistant如何工作

安装扩展程序后,您将看到一个图标,指示您正在查看的页面上的标记状态.

  • 带有"x"的灰色图标表示页面上未找到任何代码

  • 绿色指示器将显示是否找到有效标签.图标中的数字表示找到的标签数量

  • 蓝色指示器将显示有关改善整体标记健康状况的建议

  • 黄色指示器将显示发现标签有轻微的实施问题

  • 红色指示灯将显示发现标签存在严重的实施问题

单击图标以打开包含标记详细信息的窗口.它显示了找到了多少标签,发现了多少错误,任何错误以及指向可用于解决问题的最相关帮助文档的链接.此外,Tag Assistant会在可以进行改进时提出建议.例如,如果已安装过时的Google Analytics代码,则代码助手可能会建议您更新为较新的代码.