简体   繁体   English

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

[英]Firefox extension warning: JavaScript namespace pollution

Firefox addon example: Firefox插件示例:

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

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

Warning: Your add-on contains a large number of global variables, which can conflict with other add-ons. 警告:您的加载项包含大量全局变量,这些变量可能与其他加载项冲突。 For more information, see http://blog.mozilla.com/addons/2009/01/16/firefox-extensions-global-namespace-pollution/ , or use JavaScript modules. 有关更多信息,请参阅http://blog.mozilla.com/addons/2009/01/16/firefox-extensions-global-namespace-pollution/或使用JavaScript模块。

How I can fix it? 我该如何解决? Thanks in advance. 提前致谢。

You can hide variables from the global scope by putting them into an anonymous function ( explanation of anymous functions ). 您可以通过将变量放入匿名函数( 任何函数的说明 )中来隐藏全局范围内的变量。

In your case that would look as follows: 您的情况如下所示:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM