当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
谢谢!
答案 0 :(得分:0)
虽然您可以将函数作为临时回调传递给模块,但您应该采取措施确保在窗口关闭后不使用它们,因为它将删除其所有全局变量,包括My
。如果模块随后尝试调用该函数,那么您将收到所描述的错误。