什么是 `js` gtags.js 命令?

Nat*_*mer 2 javascript google-analytics single-page-application google-tag-manager

Google Analytics 的嵌入代码(好吧,通过谷歌标签管理器的 gtags.js 进行的 GA)如下所示:

<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=REDACTED"></script>
<script>
    window.dataLayer = window.dataLayer || [];
    function gtag(){dataLayer.push(arguments);}
    gtag('js', new Date());

    gtag('config', 'REDACTED');
</script>
Run Code Online (Sandbox Code Playgroud)

我正在构建一个 SPA 应用程序,我想知道我需要什么来进行虚拟综合浏览 - Google 的文档遗漏了有关该js命令的任何内容,而且我不想遗漏任何内容......

  1. 线路在gtag('js', new Date());做什么?
  2. 如果我告诉config代码片段中的命令不要注册综合浏览量,然后gtags('config', 'REDACTED', {...})稍后调用(在 中使用页面信息{...}),我是否需要gtag('js', new Date());在配置调用之前执行?

Eik*_*rff 5

这是 gtag JavaScript 文件中的相关代码:

js: function(a) {
    if (2 == a.length && a[1].getTime) return {
        event: "gtm.js",
        "gtm.start": a[1].getTime()
    }
}
Run Code Online (Sandbox Code Playgroud)

这似乎是一个 init 函数 - 它检查某种命令数组是否存在并且具有预期的长度(可能是为了确保它之前没有被初始化),然后发出 gtm.js 事件和时间戳(a[1].getTime检查通过测试 getTime 方法传入的 Date 对象)。

因此,多次运行它可能既没有坏处也没有好处(因为它只会返回一个值一次)。