- Firefox-Version
- FF 134+
- Betriebssystem
- Windows 10 (getestet)
Ausgehend von diesen Beitrag:

Hier das versprochene Skript, welches die vorherige Funktionalität für alle Buttons wiederherstellt, welche ab FF134 nicht mehr auf einen Mausklick reagiert haben, wenn sie außerhalb des Bereichs der navigator-toolbox verschoben wurden.
Die bestehenden Toolbars brauchen (sollen!) dafür nicht verändert werden.
Als einzige Angabe erwartet das Skript in Zeile 11 die ID(s) der genutzten Toolbar(s), welche in dem Array toolbarIDs angegeben werden müssen. z.B. :
const toolbarIDs = ['addonbar'];
oder
const toolbarIDs = ['addonbar', 'bottom_toolbar'/*, ... */] ;
Aktuellste Version: 02.02.2025 v0.2
// 'FixToolbarButtons.uc.js' by BrokenHeart💔
//
// The script adds several button-events to custom-toolbars(XUL), which were created outside the 'navigator-toolbox'.
// Firefox: 134+
//
// https://www.camp-firefox.de/forum/thema/138875-fix-nicht-mehr-reagierende-buttons-in-per-skript-erzeugten-toolbars/?postID=1264979#post1264979
//
// 29.01.2025 v0.1
// 02.02.2025 v0.2 | check if the toolbar, listed in the array, really exists.
(function() {
// ---------------------------------------------
const toolbarIDs = [/*'addonbar', ... */];
// ---------------------------------------------
if (!window.gBrowser)
return;
if (window.readyState !== "loading")
setTimeout( initToolbarButtonEvents, 500 );
else
window.addEventListener( "DOMContentLoaded", initToolbarButtonEvents );
window.addEventListener('aftercustomization', () =>
setTimeout(() => initToolbarButtonEvents(), 100 )
)
function initToolbarButtonEvents() {
toolbarIDs.forEach((toolbarID) => {
if((tbid = document.getElementById(toolbarID)) != null ) {
for (const child of tbid.children) {
switch(child["id"]) {
case "downloads-button":
let dlButton = document.getElementById('downloads-button');
dlButton.removeEventListener('mousedown', handleDlButtonEvent);
dlButton.addEventListener('mousedown', handleDlButtonEvent);
break;
case "library-button":
let libButton = document.getElementById('library-button');
libButton.removeEventListener('mousedown', handleLibButtonEvent);
libButton.addEventListener('mousedown', handleLibButtonEvent);
break;
case "alltabs-button":
let allTabsButton = document.getElementById('alltabs-button');
allTabsButton.removeEventListener('mousedown', handleAllTabsButtonEvent);
allTabsButton.addEventListener('mousedown', handleAllTabsButtonEvent);
break;
case "firefox-view-button":
let viewButton = document.getElementById('firefox-view-button');
viewButton.removeEventListener('mousedown', handleViewButtonEvent);
viewButton.addEventListener('mousedown', handleViewButtonEvent);
break;
case "fxa-toolbar-menu-button":
let fxaMenuButton = document.getElementById('fxa-toolbar-menu-button');
fxaMenuButton.removeEventListener('mousedown', handleFxaMenuButtonEvent);
fxaMenuButton.addEventListener('mousedown', handleFxaMenuButtonEvent);
break;
case "import-button":
let importButton = document.getElementById('import-button');
importButton.removeEventListener('command', handleImportButtonEvent);
importButton.addEventListener('command', handleImportButtonEvent);
break;
case "ucjs_unified-extensions-button":
let extensionsButton = document.getElementById('ucjs_unified-extensions-button');
extensionsButton.removeEventListener('command', handleExtensionsButton);
extensionsButton.addEventListener('command', handleExtensionsButton);
break;
}
}
}
else {
console.log( "Warning: Toolbar [" + toolbarID + "] unknown!");
}
})
}
function handleDlButtonEvent(event) {
DownloadsIndicatorView.onCommand(event);
}
function handleLibButtonEvent(event) {
PanelUI.showSubView("appMenu-libraryView", document.getElementById('library-button'), event);
}
function handleAllTabsButtonEvent(event) {
gTabsPanel.showAllTabsPanel(event, "alltabs-button");
}
function handleViewButtonEvent(event) {
FirefoxViewHandler.openToolbarMouseEvent(event);
}
function handleFxaMenuButtonEvent(event) {
gSync.toggleAccountPanel(document.getElementById('fxa-toolbar-menu-button'), event);
}
function handleImportButtonEvent(event) {
MigrationUtils.showMigrationWizard(window, {
entrypoint: MigrationUtils.MIGRATION_ENTRYPOINTS.BOOKMARKS_TOOLBAR,
});
}
function handleExtensionsButton(event) {
gUnifiedExtensions.togglePanel(event);
}
})();
Alles anzeigen
Damit der Button'unified-extensions-button in eine Extra-Toolbar verschoben werden kann, muss folgendes Skript (danke Mitleser) benutzt werden:
RE: Fix: Toolbar-Buttons reagieren nicht mehr ab FF 134
Ich hoffe, dass ich das richtig verstanden habe? Hier funktioniert der #unified-extensions-button nicht mehr nach dem Verschieben mit diesem Script:
(Quelltext, 46 Zeilen)
Allerdings funktioniert dieses Verschiebe-Skript nicht in jeder Situation( z.B. Entfernen des Extension-Button aus allen Toolbars + Neustart) wirklich einwandfrei, hier muss eventuell noch eine andere Lösung gefunden werden!