我有一个名为 main.js 的外部js文件,它在索引页面中添加。在某些情况下, main.js 可以包含在另一个子页面中,因此它会导致执行 main.js 两次。 我的main.js结构 main.js
(function() {
console.log("js execution started");
//content goes here
//
//
}());
我怎样才能避免两次执行main.js?
答案 0 :(得分:2)
设置一个全局变量,并检查它是否已设置,例如:
var main;
main=main||(function() {
console.log("js execution started");
//content goes here
return 1;
}());
这也为您提供了通过main提供API的能力。
答案 1 :(得分:1)
尝试在window
(或您的global
范围)中添加一个标记,表明已加载main.js
:
(function() {
if (window.__MAIN_INSTALLED) {
return
}
window.__MAIN_INSTALLED = true
console.log("js execution started");
}());