gpt4 book ai didi

javascript - 单页应用程序中的谷歌标签管理器,内存泄漏?

转载 作者:行者123 更新时间:2023-12-05 00:39:25 26 4
gpt4 key购买 nike

事情变得有趣了……
多页申请 ,标签由标签管理器注入(inject),并在每次页面更改/重新加载时清除。
单页申请 ,标签被注入(inject)并一直存在于 DOM 中,直到重新加载手册页。
我有超过 70 个标签在不同的 dataLayer 事件上被触发。跟踪代码管理器将它们全部注入(inject)到 DOM 和 的底部。他们永远不会被删除 .如果用户查看许多产品,他最终会在 DOM 中看到数百个脚本标签和 iFrame。这似乎导致严重的内存泄漏。
我怎样才能防止这种情况?在 SPA 中使用 GTM 有什么我不明白的地方吗?我已经搜索过,但没有找到太多信息。要么人们不关心内存泄漏,要么我做错了什么。
有没有办法清除所有旧的脚本标签和 iFrame,以便垃圾收集器可以完成它的工作并释放一些内存?
感谢您的帮助,希望这个帖子可以帮助更多面临同样问题的人,因为 SPA 越来越受欢迎。

最佳答案

对于使用 GTM 和 SPAS 遇到内存泄漏的任何人,以下是陷阱:

  • 不要在元素触发器上使用 GTM Click。它们在 DOM 中的所有内容上绑定(bind)点击事件,而垃圾收集器无法完成其工作,从而导致内存泄漏。
  • 不要在 GTM 宏/变量中使用自定义 Javascript 变量,因为它们是匿名的,并且在您触发的每个事件的内存中都会创建一个新的函数副本。
  • 当然,使用历史记录而不是页面 View 来触发页面 View ,因为在单页应用程序中没有刷新。

  • 希望它可以帮助一些面临同样问题的人

    关于javascript - 单页应用程序中的谷歌标签管理器,内存泄漏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64973804/

    26 4 0