繁体   English   中英

只加载一次脚本

[英]Load a script only once

我只想在用户访问时加载一次脚本(成功页面)。

我的想法是用本地存储写一些东西:

if ( localStorage.getItem("beenHere")) {
    localStorage.setItem('beenHere', 1);
    window.addEventListener('load', (event) => {
        fathom.trackGoal('XXX', {{ order.totalPrice * 100 }});
    });
}

但这不起作用,因为load总是被加载。 我将如何处理?

应该是这个吧? 最初localStorage.getItem("beenHere")是 null 因此它的计算结果为 false,因此 if 条件中的代码永远不会运行并且beenHere永远不会设置为 1。

if (!localStorage.getItem("beenHere")) {
    ...
}

添加{ once: true }作为 addEventListener 的第三个选项

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM