如何确保脚本只运行一次

3 投票
1 回答
3023 浏览
提问于 2025-04-17 07:18

我正在写一个小部件的模板,这个模板会被放到一个页面里。

在一个页面上,可能会安装多个相同的小部件,所以我的模板可能会被多次使用。

我已经写了一些JavaScript代码来初始化这个小部件,比如处理点击和鼠标悬停的事件。

我的问题是,这些<script>代码会被执行多次,比如当我点击某个东西时,绑定的函数会被执行好几次。

有什么好的方法来解决这个问题呢?

补充说明:
顺便说一下,我在使用Mako模板引擎,我尝试用c变量来存储一个布尔标志,但似乎每次都会被覆盖。

1 个回答

5

有没有类似于在C语言中用来防止头文件被多次包含的解决方案呢?

比如在文件“example.html”中,你可以用一个if语句把你的代码包裹起来,像这样:

<script type=text/javascript>
    if (!window._EXAMPLE_HTML_) {
        window._EXAMPLE_HTML_ = true;
        // your code goes here
    }
</script>

撰写回答