【发布时间】:2021-03-13 16:35:32
【问题描述】:
来自their website 的 Google 跟踪代码管理器的一大优势和功能:
异步触发代码,因此它们彼此独立加载,不会减慢您的网页速度。
考虑这种类型的同步标签用法:
<script type="text/javascript" src="www.example.com/third-party-tag.js"></script>
<script type="text/javascript">
//run some function from third-party-tag.js
</script>
外部js必须同步加载,否则第二个脚本通常会失败。如果您将其直接放入页面 HTML(无 GTM)中,则 js 会同步加载并且第二个脚本可以工作。
如果您将两个脚本标签添加到 GTM 中的一个自定义 HTML 标签中,它仍然可以工作。我可以看到没有添加任何“异步”属性。这怎么可能……
- 是不是简单明了的回答:谷歌标签管理器不是 像它声称的那样异步加载外部 js 脚本?
- 我是否误解了 GTM 声明的含义?例如检索和 自定义 HTML sn-p (tag) 的准备是异步的,但是 将 HTML 添加到 DOM 后,所有正常规则 适用于这些标签。
感谢您的建议! p.s.将 sn-p 重构为“更好”的方法不在问题的范围内。
【问题讨论】:
标签: javascript asynchronous google-tag-manager web-performance