我正在使用GTM在我们的网站如下。但在Chrome的网络面板中,我可以看到请求被取消了。我检查了javascript代码失败的地方,但它只是表单提交代码。我认为这是因为谷歌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标记是根本原因。
发布于 2016-07-29 08:36:13
如果您查看代码,您会发现iframe在noscript标记中-它只会被调用到那些没有启用javascript的客户端。没有它,GTM会很好地工作,而且大多数人甚至不会为没有JS的客户配置GTM (就我个人而言,我只是删除noscript部分并将GTM代码移到页面头部)。
不过,Google支持iframes是很好的,被中止的标记在任何情况下似乎都是javascript标记。因此,这个问题不可能与iframe有关(只要客户端运行JS,就不会调用iframe)。
https://stackoverflow.com/questions/38601575
复制相似问题