我知道使用隱藏的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
當我(或任何人)投票結束時,它是(我的)意見的陳述 - 這並不意味着你的這肯定是一個壞問題,它不是對你的角色的攻擊,它並不意味着密切的投票總是正確的。因此,如果沒有至少五個人支持,他們無需爲緊密的選票辯護,但無論如何都不相關。這只是爲了在未來爲你節省一些時間:-)。 –