- 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);
	}
})();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!
 
		
		
	 
															
		 
     
  . Den  unified-extensions-button hatte ich erst mal ausgelassen, da er bei mir ohne ein Extra-Skript nicht über 'Symbolleiste anpassen...'  aus der Navbar zu verschieben war. Ich wusste gar nicht, dass es so ein Skript gibt. Werde ich dann auch anpassen, falls das funktioniert.
. Den  unified-extensions-button hatte ich erst mal ausgelassen, da er bei mir ohne ein Extra-Skript nicht über 'Symbolleiste anpassen...'  aus der Navbar zu verschieben war. Ich wusste gar nicht, dass es so ein Skript gibt. Werde ich dann auch anpassen, falls das funktioniert.


 (Icon ist nicht sichtbar im Screenshot)
 (Icon ist nicht sichtbar im Screenshot) 
     
    
