我在我们的网站中使用 GTM ,如下所示。但在Chrome的网络面板中,我可以看到该请求已取消。我检查了它失败的javascript代码,但它只是表单提交代码。我相信这是因为Google Chrome不支持 iFrame 。有没有 iFrame 使用GTM的另一种方法。
<!-- Google Tag Manager -->
<noscript>
<iframe src="//www.googletagmanager.com/ns.html?id=GTM-TW7XQX" height="0" width="0" style="display:none;visibility:hidden">
</iframe>
</noscript>
<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=
'//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-TW7XQX');
</script>
<!-- End Google Tag Manager -->
Updtae:
发现这不是因为iFrame而发生的事情。只有在禁用javascript时才会触发iFram。在这种情况下,配置的GTM标签是根本原因。
答案 0 :(得分:0)
如果查看代码,您会看到iframe位于noscript标记中 - 只会为没有启用javascript的客户端调用它。如果没有它,GTM将正常工作,并且大多数人甚至没有为没有JS的客户端配置GTM(我个人只是删除了noscript部分并将GTM代码移动到页面头部)。
然而,谷歌浏览器支持iframe就好了,并且在任何情况下中止的标签似乎都是javascript标签。所以这个问题可能无法与iframe相关(只要客户端运行JS,它就不会被调用)。