【发布时间】:2018-01-15 12:18:11
【问题描述】:
对于单页应用程序,我想知道是否可以在触发后从 DOM 中删除自定义 gtm html 标记。 这背后的想法是通过自定义脚本避免 DOM 无法控制的增长。
【问题讨论】:
标签: javascript google-tag-manager
对于单页应用程序,我想知道是否可以在触发后从 DOM 中删除自定义 gtm html 标记。 这背后的想法是通过自定义脚本避免 DOM 无法控制的增长。
【问题讨论】:
标签: javascript google-tag-manager
我在最近的一个项目中遇到了同样的问题。但是,我还没有找到任何“本机”解决方案,主要是因为每个可以使用 GTM 注入的 Tag 都可以以完全不同的方式注入代码。
我为这个项目所做的是实现一个相当简单的解决方案(即使不是完美的),它包括:
<script id="{{SCRIPT_ID}}__PIXEL_ID">
... custom code ...
</script>
<body> 标记(GTM 注入标记的位置)内的任何脚本,其 ID 以前一个前缀开头。function flushScripts() {
const pixels = document.body.querySelectorAll(':scope > script[id^="SCRIPT_ID"]');
for (const p of pixels) { document.body.removeChild(p); }
}
【讨论】: