如何避免外部JavaScript执行多次?

时间:2017-07-19 08:47:36

标签: javascript html

我有一个名为 main.js 的外部js文件,它在索引页面中添加。在某些情况下, main.js 可以包含在另一个子页面中,因此它会导致执行 main.js 两次。 我的main.js结构 main.js

 (function() {
 console.log("js execution started");
//content goes here
//
//
}());

我怎样才能避免两次执行main.js?

2 个答案:

答案 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");
}());