ブートストラップされたアドオンを無効にすると、時折エラーが記録されることに気付きました。
機能のシャットダウン:
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- 他に何か提案はありますか?
アップデート:
次のテスト:
無効 -- エラーなし
有効/無効 -- 1 エラー (上)
有効/無効 -- 2 エラー (上)
有効/無効 -- 3 エラー (上)
有効/無効 -- 4 エラー (上)
有効/無効 -- 5 エラー (上記)
今それは奇妙です....
更新 2:
問題が見つかりました....リスナーの 1 つでタイプミス/エラーが発生したため、削除されshutdown()
ず、その後の有効化/無効化ごとにリスナーが 1 つ追加されました...そのため、毎回エラーの数が増加しました:)