我使用react-gtm-module将Google Tag Manager标记放在netlify托管的react/next.js应用程序中。
头部的gtm脚本标记呈现得非常完美。但是正文中的noscript标记被错误地呈现为iframe作为字符串:
<body>
<noscript>
"
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-XXXXXXX>m_auth=>m_preview=>m_cookies_win=x"
height="0" width="0" style="display:none;visibility:hidden" id="tag-manager"></iframe>"
</noscript>
...
</body> react-gtm-module代码:
import TagManager from 'react-gtm-module'
...
componentDidMount(){
const tagManagerArgs = { gtmId: 'GTM-NCGQVKQ' }
TagManager.initialize(tagManagerArgs);
}有没有人知道原因是什么?
非常感谢!
发布于 2020-05-20 16:16:42
启用脚本时,noscript元素将仅包含纯文本。尝试在浏览器中禁用JS,然后noscript标记中的文本应该被解析为HTML
https://html.spec.whatwg.org/multipage/scripting.html#the-noscript-element
发布于 2020-11-16 20:13:50
如果你的应用程序只在客户端(不涉及服务器端渲染),那么noscript部分是没有用的,也永远不会被触发,因为它是使用javascript加载的,而且它只在javascript被禁用的情况下使用。
从软件包的自述文件中:
如果React仅在客户端呈现,则在浏览器中禁用javascript可能会阻止此库的正确操作。
https://stackoverflow.com/questions/61907993
复制相似问题