nsIAppStartup インターフェイスを用いて Script から XUL アプリケーションを終了させたり、アプリケーションを強制終了させる事が出来ます。
<script> function quit (aForceQuit) { var appStartup = Components.classes['@mozilla.org/toolkit/app-startup;1']. getService(Components.interfaces.nsIAppStartup); // eAttemptQuit は XUL をそれぞれ閉じていくよう試みますが、セーブしていないデータがある場合 // XUL window は終了のプロセスをキャンセルする事ができます。eForceQuit は何があっても終了するでしょう。 var quitSeverity = aForceQuit ? Components.interfaces.nsIAppStartup.eForceQuit : Components.interfaces.nsIAppStartup.eAttemptQuit; appStartup.quit(quitSeverity); } </script>
捕捉されない例外があったときにこの関数を呼べば、アプリケーションは強制的に終了します:
<script> try { doSomething(); } catch (e) { quit(true); } </script>
この "Quit" menuitem は一般的にセーブしていないデータがあればユーザにプロンプトを表示するでしょう:
<menuitem label="Quit" oncommand="quit(false);"/>