如何确保脚本运行一次且仅运行一次

sat*_*oru 3 javascript python jquery mako jquery-events

我正在编写一个小部件模板,它将包含在安装它的页面中。

人们可能会在一个页面中安装多个相同类型的小部件,因此我的模板可能会被包含多次。

现在我已经写了一些JavaScript来初始化小部件,你知道,点击和悬停。

我的问题是这些<script>被执行多次,例如,当我单击某物时,有界函数被执行多次。

解决这个问题的最佳方法是什么?

编辑:
顺便说一句,我正在使用Mako模板引擎,并且我尝试使用c变量来存储布尔标志,但似乎c每次都会被覆盖。

Tor*_*ben 5

是否有一种与 C 中使用的类似解决方案来防止头文件被多次包含?

例如,在文件“example.html”中,您可以将代码包装在 if 语句中,如下所示:

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