我知道使用隐藏的iframe(零高度,显示:无等)跟踪用户并不是一个好主意,因为如果不渲染它们的内容通常也不会被调用。
那么为什么Google TagManager会以所有可能的方式使用隐藏的iframe(显示:无,可见性:隐藏,宽度:0,高度:0)?
答案 0 :(得分:0)
如果您正在谈论跟踪GTM的代码:
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXXXXX');</script>
哪个有iframe:
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-XXXXXX" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
此iframe适用于未启用Javascript的用户。如果客户端的浏览器已禁用JS,浏览器不会在script
标记内执行JS,他只是在noscript
标记内呈现html。
浏览器只会呈现隐藏的iframe,并会尝试加载此网址。