オレクシーに同意します。しかし、ユーザーが Firefox を閉じにくくすることはできます。
現在、「quit-application-requested」オブザーバー通知をリッスンし、aSubject.data を true に設定して Firefox がアプリケーションを終了しないようにするアドオンを (SDK 経由で) 作成しています。
observe: function(aSubject, aTopic, aData) {
if (aTopic == "quit-application-requested") {
aSubject.QueryInterface(Ci.nsISupportsPRBool);
aSubject.data = (this.canQuit() == false);
}
}
しかし、私が実際に望んでいるのは、Web アプリケーション (FileMaker データベース) を閉じないように、特定のウィンドウが閉じられていないことです。
したがって、次のように、すべてのコマンド、すべてのキー、およびすべてのメニュー (ブラウザー XUL) を無効にすることも試みました。
var allCommands = win.document.getElementsByTagName("command");
for (let i = 0; i < allCommands.length; i++) {
allCommands[i].setAttribute("disabled", "true");
}
var allKeys = win.document.getElementsByTagName("key");
for (let i = 0; i < allKeys.length; i++) {
allKeys[i].setAttribute("disabled", "true");
}
var allMenus = win.document.getElementsByTagName("menu");
for (let i = 0; i < allMenus.length; i++) {
allMenus[i].setAttribute("disabled", "true");
}
ただし、新しい Firefox ウィンドウが開かないようにしない限り、ユーザーはアプリケーションを終了して Web アプリケーションでウィンドウを閉じることができます。
したがって、「それ」は機能しますが、タブが存在する特定のタブまたはウィンドウを閉じずに参照してもらいたいと思います。
どうやらユーザーが新しいウィンドウを開いたときに Alt+F4 を押すと、アプリケーションが終了するのではなく、ウィンドウが閉じるため、新しいウィンドウを開くのを防止しないと機能しません。すべてのコマンド/キー/メニューを無効にしたと思っていましたが、まだ何らかの近い可能性があります。
新しいウィンドウを開くのを妨げずにそれを達成する方法について誰かアイデアがありますか?