Firefox扩展警告:JavaScript命名空间污染

时间:2014-06-14 11:28:56

标签: javascript firefox firefox-addon

Firefox插件示例:

    var MyAddonNamespace = {
        local_variable: null,
        local_method: function() {
            return 'string';
        }
    };

window.addEventListener("load", function(e) {
    MyAddonNamespace.local_method();
}, false);
  

警告:您的加载项包含大量全局变量,这些变量可能与其他加载项冲突。有关更多信息,请参阅http://blog.mozilla.com/addons/2009/01/16/firefox-extensions-global-namespace-pollution/或使用JavaScript模块。

我该如何解决?提前谢谢。

1 个答案:

答案 0 :(得分:0)

您可以通过将变量放入匿名函数(explanation of anymous functions)来隐藏全局范围中的变量。

在您的情况下,如下所示:

(function(){
    var MyAddonNamespace = {
       local_variable: null,
       local_method: function() {
          return 'string';
       }
   };
   window.addEventListener("load", function(e) {
      MyAddonNamespace.local_method();
   }, false);
})();