a
我有2页,它们都包含具有全局功能的global.js。由于某些原因,我必须在两个地方运行global(),如何阻止它发射两次?像第1页是布局,它将始终首先运行global()。因此,如果全局已经触发,请不要在我访问第2页时再次触发它。页面3,4,5等将运行布局的global(),这样它就不会发生冲突。我担心的是第2页。
答案 0 :(得分:1)
只要您的JS文件只加载一次,您就可以执行以下操作:
您可以为函数指定属性,就像对象一样。
在下面的示例中,我添加了一个默认值为executed
的属性false
。执行函数内容时,executed
设置为true
,因此下次调用函数时,if
语句将确保函数立即返回。
function global() {
if (global.executed) {
return;
}
global.executed = true;
// your code here ...
}
global.executed = false;

但是,如果两个页面都独立加载JS文件,则必须记住该函数是否在静态调用,例如在localStorage
,cookie或服务器上。