Firefox卸载加载了Components.utils.import()的模块?

时间:2011-06-14 11:02:10

标签: firefox firefox-addon

当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
})();

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

我的猜测是Firefox默默地卸载extension.js模块,否则我找不到任何提示为什么会发生这种情况。你呢?

Firefox版本:3.x

谢谢!

1 个答案:

答案 0 :(得分:0)

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