Firefox会卸载使用Components.utils.import加载的模块吗?

问题描述

| 当让Firefox运行一段时间后,我的扩展程序开始发生奇怪的事情。这是一些代码,我需要描述这个问题: extension.js     var My = {}; overlay.js     Components.utils.import(\“资源://myextension/extension.js \”);
My.extension = (function() {
  var someFunc = function() {
    // more code
    My.module.otherFunc();
  };

  // more code
})();
@H_502_2@

在某个时候,我们开始遇到奇怪的错误:\'My \'在overlay.js:6中未定义

我的猜测是Firefox会以静方式卸载extension.js模块,否则我找不到任何提示可能会发生这种情况。你呢?

Firefox版本:3.x

谢谢!
    


解决方法

        虽然您可以将函数作为临时回调传递给模块,但应采取措施确保在关闭窗口后不使用它们,因为这样会删除其所有全局变量,包括
My
。如果模块随后尝试调用该函数,则您将收到描述的错误。