我知道使用隐藏的iframe(零高度,display:none等)不是一个好主意,用于跟踪用户,因为如果他们没有被渲染,他们的内容通常不会被调用。隐藏iframes和Google TagManager
那么为什么Google TagManager使用隐藏所有可能方式的iframe(显示:none,visibility:hidden,width:0,height:0)?
我知道使用隐藏的iframe(零高度,display:none等)不是一个好主意,用于跟踪用户,因为如果他们没有被渲染,他们的内容通常不会被调用。隐藏iframes和Google TagManager
那么为什么Google TagManager使用隐藏所有可能方式的iframe(显示:none,visibility:hidden,width:0,height: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,并会尝试加载此网址。
由于我们对Google的决策制定过程没有深入的了解(加上隐藏的iframe内容未加载的概念应该使用源代码或测试用例进行备份),因此我正在投票结束此问题。 –
如果这个问题离题,我会很抱歉,但实际上我不这么认为。 无论如何,我想知道为什么许多开发人员使用1x1 iframe而不是0x0 iframe,如果没关系 – basellone
当我(或任何人)投票结束时,它是(我的)意见的陈述 - 这并不意味着你的这肯定是一个坏问题,它不是对你的角色的攻击,它并不意味着密切的投票总是正确的。因此,如果没有至少五个人支持,他们无需为紧密的选票辩护,但无论如何都不相关。这只是为了在未来为你节省一些时间:-)。 –