我试图了解这两个函数的一些具体内容。我显然可以找到有关它们的文档,但似乎源代码不可用。 你知道我可以在哪里找到它吗?
您可以在他们给您的安装说明中看到两者正在做什么:
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-IDGOESHERE"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-IDGOESHERE');
</script>
gtag
函数只是dataLayer.push
的简单包装。所有全局 dataLayer
变量都是一个原始数组(因此可以使用 push
方法)。
神奇之处在于Google提供的脚本。虽然源代码在很大程度上被混淆和丑化,但其要点是全局
dataLayer
变量正在被代理并监视更改。
当您向数组添加新条目时,Google 将看到这些变化的发生,并将信息实时发送回其服务器。本质上,
gtag
函数和 dataLayer
变量完全不起眼,并且它们本身并没有真正做很多事情。监视此变量变化的底层脚本正在承担繁重的工作。