我想放置一个谷歌标签管理器脚本,根据谷歌标签文档,该脚本应放置在开始标签后立即。
由于我们不能更改源代码,因此我们必须使用以下代码片段附加脚本。
<script type="text/javascript">
(function () {
var url = "path/to/js/file";
var gtm = document.createElement('script');
gtm.type = 'text/javascript';
gtm.async = true;
gtm.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + url;
var s = document.getElementsByTagName('body')[0];
s.parentNode.insertBefore(gtm, s);
})();
</script>它几乎与谷歌分析脚本片段相同。现在,脚本被追加到body标记的正前面。我不确定使用jQuery方法insertAfter是正确的方法,还是有更好的方法!
我很感谢你的帮助。
发布于 2013-02-08 17:59:52
实际上,您的代码在head和body标记之间插入script。改用下面的代码:
var s = document.body.firstChild;
s.parentNode.insertBefore(gtm, s);发布于 2013-02-08 18:02:07
您可以使用Node.insertBefore来执行以下操作:
var body = document.getElementsByTagName("body")[0];
body.insertBefore(gtm, body.firstChild);即使body标记没有firstChild,也可以这样做。
发布于 2021-11-30 13:19:23
此Q不再与(DEC2021)相关,因为GTM更改了标签管理器的设置和安装:
在“新”设置中,你应该:
<script>代码片段放在网页超文本标记语言输出的<head>中,最好是尽可能靠近开始<head>标记,但要放在任何dataLayer declarations.<noscript>代码片段放在超文本标记语言输出中紧跟标记之后。https://support.google.com/tagmanager/answer/6103696
关于<noscript>没有通过任何Javascript代码添加<noscript>的意思(noscript只有在JavaScript关闭时才能在浏览器中使用)。
https://stackoverflow.com/questions/14769702
复制相似问题