1. Nachrichten
  2. Forum
    1. Unerledigte Themen
    2. Forenregeln
  3. Spenden
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. camp-firefox.de
  2. BrokenHeart

Beiträge von BrokenHeart

  • Fix: Toolbar-Buttons reagieren nicht mehr ab FF 134

    • BrokenHeart
    • 29. Januar 2025 um 14:22
    Zitat von FuchsFan

    Sorry, ich teste nur in Nightly (immer aktuelle Version). :rolleyes:

    Siehe Screenshot in #13

    Edit: Habe gerade ein Update auf die neuste Nightly gemacht und dann geht der Button wirklich nicht mehr. Liegt aber nicht an dem Skript, da er diesen Fehler auch ohne das Skript zeigt. Müsste man sich mal den Code zum Button genauer anschauen... :/

  • Fix: Toolbar-Buttons reagieren nicht mehr ab FF 134

    • BrokenHeart
    • 29. Januar 2025 um 14:11
    Zitat von FuchsFan

    Leider nicht, denn das folgende Script arbeitet in der Navbar fehlerlos, und funktioniert auch in mehreren Fenstern, wenn das Startfenster geschlossen wurde (das aus #5 nicht). Was müsste also im Script noch geändert werden?

    Funktioniert hier in der FF134.0.2 einwandfrei. Keine Ahnung, was du meinst :/ (Icon ist nicht sichtbar im Screenshot)

    Und in der Nightly auch...



    Zitat von Mitleser

    Läuft, vielen Dank! :) :thumbup:

    Gerne :).

  • Fix: Toolbar-Buttons reagieren nicht mehr ab FF 134

    • BrokenHeart
    • 29. Januar 2025 um 13:36

    Mitleser Habe es jetzt angepasst. Funktioniert dann aber wohl nur in Verbindung mit dem Skript, welches du gepostet hast, da ja auch eine veränderte ID= ucjs_unified-extensions-button benutzt wird.

    Edit: Mist! Das neue Skript vergessen...:sleeping:

    JavaScript
    // 'FixToolbarButtons.uc.js' by BrokenHeart💔   
    //
    // The script adds several button-events to custom-toolbars(XUL), which were created outside the 'navigator-toolbox'. 
    // Firefox: 134+ 
    //
    // 29.01.2025 V0.1  
    
    
    (function() {
    	
    	// ---------------------------------------------
        const toolbarIDs = ['bottom-toolbar', '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) => {
    			for (const child of document.getElementById(toolbarID).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;
    					
    				}
    			}
    		})
    		
    	}	
    
    	
    	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
  • Fix: Toolbar-Buttons reagieren nicht mehr ab FF 134

    • BrokenHeart
    • 29. Januar 2025 um 13:16
    Zitat von Mitleser

    Ich hoffe, dass ich das richtig verstanden habe? Hier funktioniert der #unified-extensions-button nicht mehr nach dem Verschieben mit diesem Script:

    Ja hast du ;) :thumbup:. 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.

  • Fix: Toolbar-Buttons reagieren nicht mehr ab FF 134

    • BrokenHeart
    • 29. Januar 2025 um 12:18
    Zitat von FuchsFan

    Danke, das funktioniert mit den von Dir eingetragenen System-Button. Ich musste passen, konnte es nicht fertig bringen, dass auch z.B. about-config-Button, about-translations-Button, usw., starten, wenn sie sich in der Addonbar befinden (Nightly aktuell).

    Der "Fehler" betrifft ja nur bestimmte Buttons, die von Firefox selbst kommen, wie z.B. Download-Button, View-Button u.a., Mozilla hat Änderungen an den EventListenern für diese Buttons vorgenommen, so dass sie außerhalb der Standard-Toolbars nicht mehr funktionieren. Das Skript behebt genau das...

    Zitat von FuchsFan

    Wie müsste so ein Eintrag aussehen?

    Du musst da überhaupt nichts anpassen oder in das Skript eintragen, da diese Buttons weiterhin in allen Toolbars funktionieren. Oder habe ich dich falsch verstanden?

    Zitat von Dharkness

    Dieses Script funktioniert bei mir ohne extra Anpassungen in der #addonbar_v, die ist doch gemeint, oder?

    Genau so ist es! Der Fix betrifft keine selbst erstellten Buttons über UserChrome-Skripte,

    --

    Es kann sein, dass es noch weitere Buttons gibt (geben wird), die ab FF134 (FF136) nicht mehr in eigenen Toolbars funktionieren. Wäre gut, wenn das dann jemand meldet, damit ich dafür einen neuen Listener/Handler erzeugen kann.


    Zum jetzigen Zeitpunkt werden diese sechs Buttons gefixt (siehe Skript):

  • addonbar.us.js funktioniert nicht mehr

    • BrokenHeart
    • 29. Januar 2025 um 07:37
    Zitat von BrokenHeart

    Was ich Speravir schon weiter oben geschrieben hatte: werde nur ein eigenständiges Skript (oder eine einzige Funktion) für die restlichen Buttons zur Verfügung stellen, welches dann in allen Toolbars außerhalb der 'navigator-toolbox' die Funktionalität wiederherstellt, nicht nur bei diesem Skript von Aris.

    Darum geht es jetzt hier weiter:

    Beitrag

    Fix: Toolbar-Buttons reagieren nicht mehr ab FF 134

    Ausgehend von diesen Beitrag:

    addonbar.us.js funktioniert nicht mehr 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…
    BrokenHeart
    29. Januar 2025 um 07:36
  • Fix: Toolbar-Buttons reagieren nicht mehr ab FF 134

    • BrokenHeart
    • 29. Januar 2025 um 07:36

    Ausgehend von diesen Beitrag:

    Beitrag

    addonbar.us.js funktioniert nicht mehr

    […]

    Das Problem besteht weiter, obwohl es gerade ein Update für das Skript gab.

    Meine Meldung auf Github ist verwaist. Dort gibt es Lösungsvorschläge, die aber wohl nur mit einem anderen Skriptloader funktionieren. Weiß jemand eine Lösung mit "unserem" Skriptloader, also dem in Endors Github?
    bege
    25. Januar 2025 um 21:37

    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

    JavaScript
    // '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:

    Beitrag

    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)

    Mitleser
    29. Januar 2025 um 13:08

    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!

  • addonbar.us.js funktioniert nicht mehr

    • BrokenHeart
    • 28. Januar 2025 um 11:56
    Zitat von 2002Andreas

    Damit funktioniert es :thumbup:

    Mit dem aus Beitrag Nr. 23 nicht.

    Ebenfalls danke fürs Testen.:thumbup:

    Dann hatte ich zu viel im Skript von Aris "wegoptimiert". Wie üblich ein Timing Problem. Ich war der Meinung 1s sollten ausreichen. Aber das schwankt wohl stark von Rechner zu Rechner. Die Lösung in #28 ist eh die korrektere Variante... :)

    Zitat von 2002Andreas

    Ich weiß nicht ob dir das hilft, aber ich nutze hier ein viel kürzeres Skript für diese Leiste unten.

    Ich nutze die Addon-Bar von Aris auch nicht, sondern eine angepasste Statusleiste, in der man genauso Buttons verstauen kann. Im Prinzip ist der Aufbau ja fast überall identisch. Was ich Speravir schon weiter oben geschrieben hatte: werde nur ein eigenständiges Skript (oder eine einzige Funktion) für die restlichen Buttons zur Verfügung stellen, welches dann in allen Toolbars außerhalb der 'navigator-toolbox' die Funktionalität wiederherstellt, nicht nur bei diesem Skript von Aris. Es ging mir hier nur um das prinzipielle Austesten einer Idee... ;)

  • addonbar.us.js funktioniert nicht mehr

    • BrokenHeart
    • 28. Januar 2025 um 09:43
    Zitat von FuchsFan

    Hier funktioniert es leider nicht mit dem Button.

    Danke fürs Testen :thumbup:

    Hier funktioniert es mit dem Skript, sowohl in FF134 als auch in FF136.


    Teste bitte nochmal:

    JavaScript
    // Add-on Bar script for Firefox 126+ by Aris
    //
    // no 'close' button
    // 'toggle' toolbar with 'Ctr + /' on Windows/Linux or 'Cmd + /' on macOS
    // no 'Add-on Bar' entry in toolbar context menu
    //
    // option: smaller buttons / reduced toolbar button height
    //
    // flexible spaces on add-on bar behave like on old Firefox versions
    
    // [!] Fix for WebExtensions with own windows by 黒仪大螃蟹 (for 1-N scripts)
    // [!] 27.01.2025 Fix FF 134+ (DonloadButton) by BrokenHeart💔
    
    (function() {
    
    	if (!window.gBrowser){
            return;
        }
    
    	var appversion = parseInt(Services.appinfo.version);
    
    	var compact_buttons = false; // reduced toolbar height and smaller buttons
    
    	var AddAddonbar = {
    	  init: function() {
    
    		if (location != 'chrome://browser/content/browser.xhtml')
    		  return;
    		  
    		/* blank tab workaround */
    		try {
    		  if(gBrowser.selectedBrowser.getAttribute('blank')) gBrowser.selectedBrowser.removeAttribute('blank');
    		} catch(e) {}
    		
    		try {
    		  Services.prefs.getDefaultBranch('browser.addonbar.').setBoolPref('enabled',true);
    		} catch(e) {}
    
    		var addonbar_label = 'Add-on Bar';
    		var compact_buttons_code = '';
    		
    		if(compact_buttons)
    		  compact_buttons_code = `
    			#addonbar toolbarbutton .toolbarbutton-icon {
    			  padding: 0 !important;
    			  width: 16px !important;
    			  height: 16px !important;
    			}
    			#addonbar .toolbarbutton-badge-stack {
    			  padding: 0 !important;
    			  margin: 0 !important;
    			  width: 16px !important;
    			  min-width: 16px !important;
    			  height: 16px !important;
    			  min-height: 16px !important;
    			}
    			#addonbar toolbarbutton .toolbarbutton-badge {
    			  margin-top: 0px !important;
    			  font-size: 5pt !important;
    			  min-width: unset !important;
    			  min-height: unset !important;
    			  margin-inline-start: 0px !important;
    			  margin-inline-end: 0px !important;
    			}
    			#addonbar .toolbaritem-combined-buttons {
    			  margin-inline: 0px !important;
    			}
    			#addonbar toolbarbutton {
    			  padding: 0 !important;
    			}
    		  `;
    
    		// style sheet
    		Components.classes['@mozilla.org/content/style-sheet-service;1'].getService(Components.interfaces.nsIStyleSheetService).loadAndRegisterSheet(
    		  Services.io.newURI('data:text/css;charset=utf-8,' + encodeURIComponent(`
    			  #addonbar toolbarpaletteitem[place=toolbar][id^=wrapper-customizableui-special-spring],
    			  #addonbar toolbarspring {
    				-moz-box-flex: 1 !important;
    				min-width: unset !important;
    				width: unset !important;
    				max-width: unset !important;
    			  }
    			  #main-window[customizing] #addonbar {
    				outline: 1px dashed !important;
    				outline-offset: -2px !important;
    			  }
    			  #addonbar {
    				border-top: 1px solid var(--sidebar-border-color,rgba(0,0,0,0.1)) !important;
    				background-color: var(--toolbar-bgcolor);
    				background-image: var(--toolbar-bgimage);
    				-moz-window-dragging: no-drag !important;
    			  }
    			  :root[lwtheme] #addonbar {
    				background: var(--lwt-accent-color) !important;
    			  }
    			  :root[lwtheme][lwtheme-image='true'] #addonbar {
    				background: var(--lwt-header-image) !important;
    				background-position: 0vw 50vh !important;
    			  }
    			  /* autohide add-on bar in fullscreen mode */
    			  /*#main-window[sizemode='fullscreen']:not([inDOMFullscreen='true']) #addonbar {
    				visibility: visible !important;
    				display: block !important;
    				min-height: 1px !important;
    				height: 1px !important;
    				max-height: 1px !important;
    			  }
    			  #main-window[sizemode='fullscreen']:not([inDOMFullscreen='true']) #addonbar:hover {
    				min-height: 24px !important;
    				height: 24px !important;
    				max-height: 24px !important;
    			  }*/
    			  #unified-extensions-button[hidden]{
    				visibility: visible !important;
    				display: flex !important;
    			  }
    			  `+compact_buttons_code+`
    		  `), null, null),
    		  Components.classes['@mozilla.org/content/style-sheet-service;1'].getService(Components.interfaces.nsIStyleSheetService).AGENT_SHEET
    		);
    
    		// toolbar
    		try {
    		  if(document.getElementById('addonbar') == null) {
    			var tb_addonbar = document.createXULElement('toolbar');
    			tb_addonbar.setAttribute('id','addonbar');
    			tb_addonbar.setAttribute('collapsed', 'false');
    			tb_addonbar.setAttribute('toolbarname', addonbar_label);
    			tb_addonbar.setAttribute('defaultset','spring,spring'); 
    			tb_addonbar.setAttribute('customizable','true');
    			tb_addonbar.setAttribute('mode','icons');
    			tb_addonbar.setAttribute('iconsize','small');
    			tb_addonbar.setAttribute('context','toolbar-context-menu');
    			tb_addonbar.setAttribute('lockiconsize','true');
    			tb_addonbar.setAttribute('class','toolbar-primary chromeclass-toolbar browser-toolbar customization-target');
    
    			document.getElementById('browser').parentNode.appendChild(tb_addonbar);
    			//tb_addonbar.insertBefore(document.querySelector('#statuspanel'),tb_addonbar.firstChild);
    			
    			CustomizableUI.registerArea('addonbar', {legacy: true});
    			
    			setTimeout(function(){
    			  CustomizableUI.registerArea('addonbar', {legacy: true});
    			},2000);
    		  
    			CustomizableUI.registerToolbarNode(tb_addonbar);
    			
    			// 'Ctr + /' on Windows/Linux or 'Cmd + /' on macOS to toggle add-on bar
    			var key = document.createXULElement('key');
    			key.id = 'key_toggleAddonBar';
    			key.setAttribute('key', '/');
    			key.setAttribute('modifiers', 'accel');
    			key.addEventListener("command", () => {var newAddonBar = document.getElementById('addonbar');
    				setToolbarVisibility(newAddonBar, newAddonBar.collapsed);
    				Services.prefs.getBranch('browser.addonbar.').setBoolPref('enabled',!newAddonBar.collapsed);} );
    			document.getElementById('mainKeyset').appendChild(key);
    			
    			
    			try {
    			  setToolbarVisibility(document.getElementById('addonbar'), Services.prefs.getBranch('browser.addonbar.').getBoolPref('enabled'));
    			} catch(e) {}
    		  
    		  }
    		} catch(e) {}
    		
    		try {
    			setToolbarVisibility(document.getElementById('addonbar'), Services.prefs.getBranch('browser.addonbar.').getBoolPref('enabled'));
    			
    		} catch(e) {}
    	  }
    
    	}
    
    	/* initialization delay workaround */
    	//document.addEventListener('DOMContentLoaded', AddAddonbar.init(), false);
    	/* Use the below code instead of the one above this line, if issues occur */
    	if (!window.gBrowser){
    			return;
    	}
    	
    	document.addEventListener('DOMContentLoaded', AddAddonbar.init(), false);
    	
    	setTimeout(function(){
    	  addonBarEvents();
    	},0);
    	
    	
    	function addonBarEvents() {
    		for (const child of document.getElementById('addonbar').children) {
    			if( child["id"] == "downloads-button" ) {
    				document.getElementById('downloads-button').addEventListener('mousedown', function(event)  {
    				  DownloadsIndicatorView.onCommand(event);
    				});
    		   }
    	   }
    	}	
    	
    })();
    Alles anzeigen
  • addonbar.us.js funktioniert nicht mehr

    • BrokenHeart
    • 28. Januar 2025 um 08:17
    Zitat von Speravir

    In Zeile 153 steht noch key.setAttribute('oncommand',…. Beachte das jüngste Update von addonbar.uc.js.

    Danke, ich hab's übernommen :thumbup:.

    Interessant wäre es gewesen, wenn du auch mitgeteilt hättest, ob der Button bei dir mit dieser Anpassung funktioniert. Das Problem ist ja nicht nur auf die 'Add-on Bar' von Aris beschränkt, sondern tritt in jeder Zusatzleiste außerhalb von 'navigator-toolbox' auf, z.B. in den vielen Statusleisten, die hier auch im Umlauf sind.

    Ich werde daher auch sicher nicht jede Änderung von Aris wieder hier einpflegen, sondern würde eher eine Skript schreiben, welches man zusätzlich ausführen oder in sein Skript einbauen kann und welches eben das Problem auch für die anderen betroffenen Buttons in allen Leisten behebt.

  • addonbar.us.js funktioniert nicht mehr

    • BrokenHeart
    • 27. Januar 2025 um 23:09

    Sollte jetzt für den Download-Button wieder passen. Die anderen nicht funktionierenden Buttons schaue ich mir später an.

    Bitte mal testen...

    JavaScript
    // Add-on Bar script for Firefox 126+ by Aris
    //
    // no 'close' button
    // 'toggle' toolbar with 'Ctr + /' on Windows/Linux or 'Cmd + /' on macOS
    // no 'Add-on Bar' entry in toolbar context menu
    //
    // option: smaller buttons / reduced toolbar button height
    //
    // flexible spaces on add-on bar behave like on old Firefox versions
    
    // [!] Fix for WebExtensions with own windows by 黒仪大螃蟹 (for 1-N scripts)
    // [!] 27.01.2025 Fix FF 134+ (DonloadButton) by BrokenHeart💔
    
    (function() {
    
    	if (!window.gBrowser){
            return;
        }
    
    	var appversion = parseInt(Services.appinfo.version);
    
    	var compact_buttons = false; // reduced toolbar height and smaller buttons
    
    	var AddAddonbar = {
    	  init: function() {
    
    		if (location != 'chrome://browser/content/browser.xhtml')
    		  return;
    		  
    		/* blank tab workaround */
    		try {
    		  if(gBrowser.selectedBrowser.getAttribute('blank')) gBrowser.selectedBrowser.removeAttribute('blank');
    		} catch(e) {}
    		
    		try {
    		  Services.prefs.getDefaultBranch('browser.addonbar.').setBoolPref('enabled',true);
    		} catch(e) {}
    
    		var addonbar_label = 'Add-on Bar';
    		var compact_buttons_code = '';
    		
    		if(compact_buttons)
    		  compact_buttons_code = `
    			#addonbar toolbarbutton .toolbarbutton-icon {
    			  padding: 0 !important;
    			  width: 16px !important;
    			  height: 16px !important;
    			}
    			#addonbar .toolbarbutton-badge-stack {
    			  padding: 0 !important;
    			  margin: 0 !important;
    			  width: 16px !important;
    			  min-width: 16px !important;
    			  height: 16px !important;
    			  min-height: 16px !important;
    			}
    			#addonbar toolbarbutton .toolbarbutton-badge {
    			  margin-top: 0px !important;
    			  font-size: 5pt !important;
    			  min-width: unset !important;
    			  min-height: unset !important;
    			  margin-inline-start: 0px !important;
    			  margin-inline-end: 0px !important;
    			}
    			#addonbar .toolbaritem-combined-buttons {
    			  margin-inline: 0px !important;
    			}
    			#addonbar toolbarbutton {
    			  padding: 0 !important;
    			}
    		  `;
    
    		// style sheet
    		Components.classes['@mozilla.org/content/style-sheet-service;1'].getService(Components.interfaces.nsIStyleSheetService).loadAndRegisterSheet(
    		  Services.io.newURI('data:text/css;charset=utf-8,' + encodeURIComponent(`
    			  #addonbar toolbarpaletteitem[place=toolbar][id^=wrapper-customizableui-special-spring],
    			  #addonbar toolbarspring {
    				-moz-box-flex: 1 !important;
    				min-width: unset !important;
    				width: unset !important;
    				max-width: unset !important;
    			  }
    			  #main-window[customizing] #addonbar {
    				outline: 1px dashed !important;
    				outline-offset: -2px !important;
    			  }
    			  #addonbar {
    				border-top: 1px solid var(--sidebar-border-color,rgba(0,0,0,0.1)) !important;
    				background-color: var(--toolbar-bgcolor);
    				background-image: var(--toolbar-bgimage);
    				-moz-window-dragging: no-drag !important;
    			  }
    			  :root[lwtheme] #addonbar {
    				background: var(--lwt-accent-color) !important;
    			  }
    			  :root[lwtheme][lwtheme-image='true'] #addonbar {
    				background: var(--lwt-header-image) !important;
    				background-position: 0vw 50vh !important;
    			  }
    			  /* autohide add-on bar in fullscreen mode */
    			  /*#main-window[sizemode='fullscreen']:not([inDOMFullscreen='true']) #addonbar {
    				visibility: visible !important;
    				display: block !important;
    				min-height: 1px !important;
    				height: 1px !important;
    				max-height: 1px !important;
    			  }
    			  #main-window[sizemode='fullscreen']:not([inDOMFullscreen='true']) #addonbar:hover {
    				min-height: 24px !important;
    				height: 24px !important;
    				max-height: 24px !important;
    			  }*/
    			  #unified-extensions-button[hidden]{
    				visibility: visible !important;
    				display: flex !important;
    			  }
    			  `+compact_buttons_code+`
    		  `), null, null),
    		  Components.classes['@mozilla.org/content/style-sheet-service;1'].getService(Components.interfaces.nsIStyleSheetService).AGENT_SHEET
    		);
    
    		// toolbar
    		try {
    		  if(document.getElementById('addonbar') == null) {
    			var tb_addonbar = document.createXULElement('toolbar');
    			tb_addonbar.setAttribute('id','addonbar');
    			tb_addonbar.setAttribute('collapsed', 'false');
    			tb_addonbar.setAttribute('toolbarname', addonbar_label);
    			tb_addonbar.setAttribute('defaultset','spring,spring'); 
    			tb_addonbar.setAttribute('customizable','true');
    			tb_addonbar.setAttribute('mode','icons');
    			tb_addonbar.setAttribute('iconsize','small');
    			tb_addonbar.setAttribute('context','toolbar-context-menu');
    			tb_addonbar.setAttribute('lockiconsize','true');
    			tb_addonbar.setAttribute('class','toolbar-primary chromeclass-toolbar browser-toolbar customization-target');
    
    			document.getElementById('browser').parentNode.appendChild(tb_addonbar);
    			//tb_addonbar.insertBefore(document.querySelector('#statuspanel'),tb_addonbar.firstChild);
    			
    			CustomizableUI.registerArea('addonbar', {legacy: true});
    			
    			setTimeout(function(){
    			  CustomizableUI.registerArea('addonbar', {legacy: true});
    			},2000);
    		  
    			CustomizableUI.registerToolbarNode(tb_addonbar);
    			
    			// 'Ctr + /' on Windows/Linux or 'Cmd + /' on macOS to toggle add-on bar
    			var key = document.createXULElement('key');
    			key.id = 'key_toggleAddonBar';
    			key.setAttribute('key', '/');
    			key.setAttribute('modifiers', 'accel');
    			key.addEventListener("command", () => {var newAddonBar = document.getElementById('addonbar');
    				setToolbarVisibility(newAddonBar, newAddonBar.collapsed);
    				Services.prefs.getBranch('browser.addonbar.').setBoolPref('enabled',!newAddonBar.collapsed);} );
    			document.getElementById('mainKeyset').appendChild(key);
    			
    			
    			try {
    			  setToolbarVisibility(document.getElementById('addonbar'), Services.prefs.getBranch('browser.addonbar.').getBoolPref('enabled'));
    			} catch(e) {}
    		  
    		  }
    		} catch(e) {}
    		
    		try {
    			setToolbarVisibility(document.getElementById('addonbar'), Services.prefs.getBranch('browser.addonbar.').getBoolPref('enabled'));
    			
    		} catch(e) {}
    	  }
    
    	}
    
    	/* initialization delay workaround */
    	//document.addEventListener('DOMContentLoaded', AddAddonbar.init(), false);
    	/* Use the below code instead of the one above this line, if issues occur */
    	if (!window.gBrowser){
    			return;
    	}
    
    	setTimeout(function(){
    	  AddAddonbar.init();
    	  addonBarEvents();
    	},1000);
    	
    	
    	function addonBarEvents() {
    		for (const child of document.getElementById('addonbar').children) {
    			if( child["id"] == "downloads-button" ) {
    				document.getElementById('downloads-button').addEventListener('mousedown', function(event)  {
    				  DownloadsIndicatorView.onCommand(event);
    				});
    		   }
    	   }
    	}	
    	
    	
    })();
    Alles anzeigen
  • addonbar.us.js funktioniert nicht mehr

    • BrokenHeart
    • 26. Januar 2025 um 16:41
    Zitat von milupo

    Welcher Update-Code?

    Hier

    JavaScript
    /* fix for downloads button on add-on bar - thanks to dimdamin */
    /* https://github.com/Aris-t2/CustomJSforFx/issues/125#issuecomment-2506613776 */
    (async url => !location.href.startsWith(url) || await delayedStartupPromise ||
    	(async (scrNT, nTjs) => {
    		if (scrNT.length >= 1) {
    			nTjs.uri = "data:application/x-javascript;charset=UTF-8,";
    			nTjs.res = await fetch(scrNT[0].src);
    			nTjs.src = (await nTjs.res.text())
    				.replace(/navigator-toolbox/, "addonbar_v")
    				.replace(/widget-overflow/, "addonbar");
    			(await ChromeUtils.compileScript(nTjs.uri + encodeURIComponent(nTjs.src))).executeInGlobal(this);
    		};
    	})(document.getElementById("navigator-toolbox").querySelectorAll(":scope > script"), {})
    )("chrome://browser/content/browser.x");
    Alles anzeigen
  • addonbar.us.js funktioniert nicht mehr

    • BrokenHeart
    • 26. Januar 2025 um 16:35
    Zitat von milupo

    Danke. Und siehst du eine Lösung?

    Ich wüsste jetzt auch nicht, wie man das konkret angehen soll. Nur wie weiter oben schon erwähnt, vielleicht EventListener für diese speziellen Buttons hinzufügen und das Ereignis dann an die navigator-toolbox weiterleiten. Aber ob das so überhaupt funktionieren kann, keine Ahnung. :/

    Den zusätzlichen Update-Code, der das Problem angeblich beheben soll, durchschaue ich überhaupt nicht...:(

  • addonbar.us.js funktioniert nicht mehr

    • BrokenHeart
    • 26. Januar 2025 um 16:08

    milupo

    Wie deine beiden Beispiele zeigen, funktionieren die Buttons nur in Toolbars, die Kinderknoten von #navigator-toolbox sind.

    In der oberen Leiste:

    JavaScript
    var parentE = document.getElementById('nav-bar').parentNode;

    Hier ist 'parentE' eben genau wieder die #navigator-toolbox . D.h. die neue Toolbar wird als Kind der #navigator-toolbox erzeugt und deswegen funktionieren hier auch alle Popups.

    In der unteren Leiste:

    JavaScript
    document.getElementById('navigator-toolbox').parentNode.insertBefore( vbox, null);

    Der Elternknoten von #navigator-toolbox ist #main-window und 'insertBefore' bedeutet, dass du eine Leiste 'vbox' hinter #main-window (als Kindknoten) erzeugst, da als Referenzknoten 'null' angegeben wurde. Und an diese wird dann die eigentliche Toolbar gehängt. Also das Standardvorgehen bei Erzeugung einer Statusleiste. Und da funktioniert es dann eben nicht mehr, da für bestimmte Buttons keine Event-Listener in der Leiste hinzugefügt wurden.

    Könnte vielleicht auch schon mit den inlineEvent Änderungen zusammenhängen...?!

  • addonbar.us.js funktioniert nicht mehr

    • BrokenHeart
    • 26. Januar 2025 um 12:33
    Zitat von Speravir

    Hmmm, bei mir funktioniert der Download-Button mit dem jüngsten Update, soll heißen, er zeigt das Popup.

    Wie bei bege wird auch hier nach dem neusten Update kein Popup angezeigt! Und zwar bei folgenden Buttons nicht:

    Der 'onMouseDown-Event' wird nur in der 'navigator-toolbox,js' dahingehend ausgewertet, dass dort die entsprechenden Behandlungsroutinen (z.B. Anzeigen eines Panels) für diese Buttons aufgerufen werden. Der Button selbst bekommt diesen Event nicht, bzw. es fehlt dort die Antwort auf den Tastendruck.

    Ich hatte mir schon überlegt, dass man vielleicht für diese speziellen Buttons einen Mousedown-EventListener hinzufügt und dann diesen Event an die navigator-toolbox.js weiterleitet. Vielleicht ist das aber auch viel zu kurz gedacht...

  • addonbar.us.js funktioniert nicht mehr

    • BrokenHeart
    • 26. Januar 2025 um 00:02

    In FF134 funktionieren der Standard Download-Button, der Standard Bibliotheks-Button und vielleicht auch noch andere in den gescripteten Extra-Toolbars nicht mehr. Weder in horizontalen, noch vertikalen Toolbars. Das betrifft nicht nur die Toolbar von Aris. Diese Buttons öffnen beim Klicken kein Panel und zwar dann nicht, wenn sie sich außerhalb der id=navigator-toolbox befinden, also alles außerhalb der Standard-Toolbarleisten.

    Man müsste also die Unterschiede zwischen den einzelnen Buttons (welche ein zusätzliches Panel öffnen) ermitteln, um vielleicht zu einer Lösung zu kommen. Auch möglich, dass die zusätzlichen XUL-Toolbars jetzt eine Änderung erfahren haben...

    Hier mal 3 Buttons (Panic, Download, Bibliothek). Der Panic-Button funktioniert, die anderen beiden nicht:

  • Div. Skripte funktionieren im aktuellem Nightly nicht mehr

    • BrokenHeart
    • 25. Januar 2025 um 16:09

    Muss jetzt auch noch schnell meinen OT-Senf dazugeben. Danach ist aber Schluss mit dem rumgeheule! ;( ;)

    Ich weiß jetzt nicht, wo genau das Problem sein soll. Endor pflegt doch dankenswerterweise:thumbup: schon seit etlichen Jahren seine GitHub-Seite mit den jeweils aktuellsten Skripten. Und viel übersichtlicher als bei GitHub würde es hier im Forum mit hundert einzelnen Threads auch nicht werden.

    Und jeder, der ein "exotisches" Skript oder ein speziell angepasstes Skript nutzt (viele User dürften das eh nicht sein), hat entweder genug Ahnung das Problem selber zu lösen oder fragt halt hier in diesem Thread nach. Bis jetzt wurde doch allen, die gefragt haben, geholfen, oder irre mich? Also funktioniert es doch so wie es ist.... :/

  • userChrome.js Scripte für den Fuchs (Diskussion)

    • BrokenHeart
    • 24. Januar 2025 um 22:23
    Zitat von edvoldi

    Wie kann ich das überprüfen?

    Indem du das Verzeichnis "StartupCache" überprüfst. Wenn nach dem Neustart keine Veränderungen sichtbar sind (Datum), dann wurde der ScriptCache auch nicht gelöscht. Wenn du das Verzeichnis parallel im Explorer geöffnet hast, kannst du sehen wie beim Beenden des Firefox alle Dateien gelöscht werden. Dann legt Firefox die "Basis"-Dateien wieder neu an. Bei meiner portablen Version befindet sich das Verzeichnis direkt im Profilordner. Bei installierten Version bin ich mir nicht 100% sicher, aber ich glaube unter "C:\Users\[Username]\AppData\Local\Mozilla\Firefox".

  • userChrome.js Scripte für den Fuchs (Diskussion)

    • BrokenHeart
    • 24. Januar 2025 um 22:01

    FuchsFan & 2002Andreas .

    Vielen Dank für das Posten eurer Version.:thumbup:

    Ich muss leider feststellen, dass ihr beide funktionierende Skripte nutzt und nur ich mich aus Faulheit nie mit meinem genutzten Skript beschäftigt habe. :cursing:

    Na ja, jetzt funktioniert es auch bei mir. Besser spät als nie. :(


    Zitat von grisu2099

    Da greif ich doch gleich mal zu...

    Kannst du gerne machen :), aber die Skripte von FuchsFan und 2002Andreas bieten noch mehr Möglichkeiten (Menü).

  • Skript für vertikale Toolbar funktioniert im heutigen Nightly nicht mehr richtig

    • BrokenHeart
    • 24. Januar 2025 um 21:38
    Zitat von Endor

    Die muss jetzt so aussehen:

    Danke für die Korrektur!:thumbup:

    Aber auch mit der Änderung mag es hier nicht funktionieren. Ist dann aber wohl wirklich ein Problem mit meinen sonstigen Anpassungen. Da ich die vertikale Toolbar nicht nutze(n werde), will ich das jetzt nicht weiter verfolgen.

Unterstütze uns!

Jährlich (2026)

71,6 %

71,6% (554,79 von 775 EUR)

Jetzt spenden
  1. Kontakt
  2. Datenschutz
  3. Impressum
Community-Software: WoltLab Suite™
Mastodon