Hi Horstmann
Ich glaube, ich habe Verwendung für Dein Skript,
aber nicht so, wie Du es ausgearbeitet und zur Verfügung gestellt hast!
Daher habe ich noch mal daran Hand angelegt UND
eine Funktion hinzugefügt, die die Zusatzleiste automatisch wieder ausblendet!
Hier die Codefragmente:
JavaScript
// Auto-Close Einstellungen
let autoCloseTime = 5000; // Zeit in Millisekunden, 0 = kein Auto-Close
let intervalID = 0;
In die Settings einfügen.
Die Buttonfunktion mit diesem Code ersetzen:
JavaScript
// Button function
NewToolbar_button.addEventListener('click', event => {
if (event.button === 0) {
if (!new_tb_uno) {
tb_toggle();
} else {
tb_toggle_uno();
}
if (NewToolbar_button.classList.contains("off-mode_btn")) {
NewToolbar_button.setAttribute("tooltiptext", "Toolbar Off");
} else {
NewToolbar_button.setAttribute("tooltiptext", "Toolbar On");
}
// Auto-Close für alle Fenster
if (autoCloseTime > 0) {
// Sicherstellen, dass der aktuelle Zustand sichtbar ist
let anyVisible = false;
for (let win of Services.wm.getEnumerator("navigator:browser")) {
const toolbar = win.document.getElementById("newtoolbar");
if (!toolbar.classList.contains("off-mode")) {
anyVisible = true;
break;
}
}
// Falls sichtbar: Timer setzen, der wieder ausblendet
if (anyVisible) {
if (intervalID) {
clearInterval(intervalID);
intervalID = 0;
}
intervalID = event.target.ownerGlobal.setInterval(autoClose, autoCloseTime);
} else {
// Wenn nach dem Klick alles zu ist, Timer beenden
if (intervalID) {
clearInterval(intervalID);
intervalID = 0;
}
}
}
}
});
Alles anzeigen
Und die Zeitschleifenfunktion einfügen.
Direkt unter "function tb_toggle_uno()"
JavaScript
function autoClose() {
if (!intervalID) {
return;
}
let anyVisible = false;
for (let win of Services.wm.getEnumerator("navigator:browser")) {
const toolbar = win.document.getElementById("newtoolbar");
const browserArea = win.document.getElementById("browser");
const button = win.document.getElementById("NewToolbar_button");
if (!toolbar.classList.contains("off-mode")) {
// Leiste schließen
toolbar.classList.add("off-mode");
browserArea.classList.add("off-mode_b");
button.classList.add("off-mode_btn");
button.setAttribute("tooltiptext", "Toolbar Off");
}
// Prüfen, ob noch irgendwo sichtbar (sollte nach obigem eigentlich nicht vorkommen)
if (!toolbar.classList.contains("off-mode")) {
anyVisible = true;
}
}
if (!anyVisible) {
clearInterval(intervalID);
intervalID = 0;
}
}
Alles anzeigen
Wenn ich das komplette Skript einfügen soll, so gib Bescheid.