首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将脚本放在紧跟在开始<body>标记之后

将脚本放在紧跟在开始<body>标记之后
EN

Stack Overflow用户
提问于 2013-02-08 17:45:43
回答 7查看 9.7K关注 0票数 6

我想放置一个谷歌标签管理器脚本,根据谷歌标签文档,该脚本应放置在开始标签后立即。

由于我们不能更改源代码,因此我们必须使用以下代码片段附加脚本。

代码语言:javascript
复制
<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是正确的方法,还是有更好的方法!

我很感谢你的帮助。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2013-02-08 17:59:52

实际上,您的代码在headbody标记之间插入script。改用下面的代码:

代码语言:javascript
复制
var s = document.body.firstChild;
s.parentNode.insertBefore(gtm, s);
票数 5
EN

Stack Overflow用户

发布于 2013-02-08 18:02:07

您可以使用Node.insertBefore来执行以下操作:

代码语言:javascript
复制
var body = document.getElementsByTagName("body")[0];
body.insertBefore(gtm, body.firstChild);

即使body标记没有firstChild,也可以这样做。

票数 3
EN

Stack Overflow用户

发布于 2021-11-30 13:19:23

此Q不再与(DEC2021)相关,因为GTM更改了标签管理器的设置和安装:

在“新”设置中,你应该:

  • <script>代码片段放在网页超文本标记语言输出的<head>中,最好是尽可能靠近开始<head>标记,但要放在任何dataLayer declarations.
  • **Additionally之下-将<noscript>代码片段放在超文本标记语言输出中紧跟标记之后。

https://support.google.com/tagmanager/answer/6103696

关于<noscript>没有通过任何Javascript代码添加<noscript>的意思(noscript只有在JavaScript关闭时才能在浏览器中使用)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14769702

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档