- Firefox-Version
- Firefox 92.0
- Betriebssystem
- Windows 10 21H1 64 Bit
Hallo @ all..
im Nightly 94 funktioniert hier das Script beim Beenden vom Firefox bei einem geöffneten Tab nicht mehr.
Kann das jemand bestätigen?
JavaScript
(function() {
if (window.__SSi != 'window0')
return;
const { BrowserGlue } = ChromeUtils.import('resource:///modules/BrowserGlue.jsm');
BrowserGlue.prototype._onQuitRequest = function BG__onQuitRequest(aCancelQuit, aQuitType) {
if (aCancelQuit instanceof Ci.nsISupportsPRBool && aCancelQuit.data) {
return;
}
if (aQuitType == "restart" || aQuitType == "os-restart") {
return;
}
var windowcount = 0;
var pagecount = 0;
for (let win of BrowserWindowTracker.orderedWindows) {
if (win.closed) {
continue;
}
windowcount++;
let tabbrowser = win.gBrowser;
if (tabbrowser) {
pagecount +=
tabbrowser.browsers.length -
tabbrowser._numPinnedTabs -
tabbrowser._removingTabs.length;
}
}
if (!aQuitType) {
aQuitType = "quit";
}
if (!Services.prefs.getBoolPref("browser.warnOnQuit")) {
return;
}
let sessionWillBeRestored =
Services.prefs.getIntPref("browser.startup.page") == 3 ||
Services.prefs.getBoolPref("browser.sessionstore.resume_session_once");
if (sessionWillBeRestored) {
if (
!Services.prefs.getBoolPref("browser.sessionstore.warnOnQuit", false)
) {
return;
}
} else if (!Services.prefs.getBoolPref("browser.tabs.warnOnClose")) {
return;
}
let win = BrowserWindowTracker.getTopWindow();
let warningMessage;
if (windowcount > 1) {
let tabSubstring = gTabBrowserBundle.GetStringFromName(
"tabs.closeWarningMultipleWindowsTabSnippet"
);
tabSubstring = PluralForm.get(pagecount, tabSubstring).replace(
/#1/,
pagecount
);
let stringID = sessionWillBeRestored
? "tabs.closeWarningMultipleWindowsSessionRestore2"
: "tabs.closeWarningMultipleWindows";
let windowString = gTabBrowserBundle.GetStringFromName(stringID);
windowString = PluralForm.get(windowcount, windowString).replace(
/#1/,
windowcount
);
warningMessage = windowString.replace(/%(?:1\\$)?S/i, tabSubstring);
} else {
let stringID = sessionWillBeRestored
? "tabs.closeWarningMultipleSessionRestore2"
: "tabs.closeWarningMultiple";
warningMessage = gTabBrowserBundle.GetStringFromName(stringID);
warningMessage = PluralForm.get(pagecount, warningMessage).replace(
"#1",
pagecount
);
}
let warnOnClose = { value: true };
let titleId =
AppConstants.platform == "win"
? "tabs.closeAndQuitTitleTabsWin"
: "tabs.closeAndQuitTitleTabs";
let flags =
Services.prompt.BUTTON_TITLE_IS_STRING * Services.prompt.BUTTON_POS_0 +
Services.prompt.BUTTON_TITLE_CANCEL * Services.prompt.BUTTON_POS_1;
let checkboxLabel = !sessionWillBeRestored
? gTabBrowserBundle.GetStringFromName("tabs.closeWarningPromptMe")
: null;
let buttonPressed;
if (pagecount < 2) {
buttonPressed = Services.prompt.confirmEx(
win,
"Firefox und diesen Tab schließen?",
"Du bist dabei, Firefox und diesen Tab zu schließen. " +
"Soll dieser Vorgang fortgesetzt werden?",
flags,
"Firefox schließen",
null,
null,
null,
warnOnClose
);
} else {
buttonPressed = Services.prompt.confirmEx(
win,
gTabBrowserBundle.GetStringFromName(titleId),
warningMessage,
flags,
gTabBrowserBundle.GetStringFromName("tabs.closeButtonMultiple"),
null,
null,
checkboxLabel,
warnOnClose
);
}
if (!sessionWillBeRestored && buttonPressed == 0 && !warnOnClose.value) {
Services.prefs.setBoolPref("browser.tabs.warnOnClose", false);
}
aCancelQuit.data = buttonPressed != 0;
};
})();
Alles anzeigen
Besteht die Möglichkeit das Script wenn dann wieder anzupassen?
Für jegliche Hilfe herzlichen Dank vorweg.
PS:
Es erfolgt allerdings auch bei mehreren offenen Tabs keine Warnung mehr.
Deaktiviere ich das Script, dann erscheint wieder die Warnung beim Beenden von mehreren Tabs.