问题描述
|
当让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
。如果模块随后尝试调用该函数,则您将收到描述的错误。