我注意到在禁用引导插件时偶尔会出现错误。
功能关闭:
function shutdown(data, reason) {
forEachOpenWindow(unloadFromWindow);
Services.wm.removeListener(WindowListener);
Components.utils.unload('chrome://myaddon/content/main.jsm');
}
有时,它会在禁用插件时出现错误:
NotFoundError: Node was not found main.jsm:112
是Components.utils.unload()
异步的吗?
1-是这种情况还是由于其他问题?
2-如果是这种情况,应该如何处理?
3- 可以Components.utils.unload()
添加到(处理)它正在移除(移除自身)的 JSM 吗?
4-还有其他建议吗?
更新:
下一个测试:
Disable -- 没有错误
Enable/Disable -- 1 错误(上图)
Enable/Disable -- 2 错误(上图)
Enable/Disable -- 3 错误(上图)
Enable/Disable -- 4 错误(上图)
Enable/禁用 -- 5 错误(上)
现在这很奇怪....
更新 2:
我发现了问题....其中一个侦听器中的错字/错误,因此它没有被删除,shutdown()
并且随着每次后续启用/禁用,又添加了一个侦听器...这就是每次错误数量增加的原因:)