BTW+IMPULS: Ich hab about:about und einige andere about: Befehle als Lesezeichenkollektion unter "Weitere Lesezeichen" (Lesezeichen-Symbolleiste ginge auch) angelegt. Spart Platz und ist auch schnell greifbar.

about:about Button
-
geldhuegel -
1. Mai 2025 um 23:35 -
Erledigt
-
-
es ging nirgendwo.
Dann teste bitte mal dieses Skipt. Ich habe das Icon als base64 Code eingebunden:
JavaScript
Alles anzeigen(function() { if (!window.gBrowser){ return; } try { CustomizableUI.createWidget({ id: 'about-button', type: 'custom', defaultArea: CustomizableUI.AREA_NAVBAR, onBuild: function(aDocument) { //var currentProfileDirectory = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/"); //var buttonicon = "A.png"; var toolbaritem = aDocument.createXULElement('toolbarbutton'); var props = { id: 'about-button', class: 'toolbarbutton-1 chromeclass-toolbar-additional', removable: 'true', label: 'about:about', accesskey: '', tooltiptext: 'about:about', style: 'list-style-image: url("data:image/webp;base64,UklGRu4AAABXRUJQVlA4IOIAAABQBACdASoQABAAAUAmJbACdH8D2Pf10P1JpmblTe0nBgOC59LEf1euhjNgAP7yk0+pua/kQITVCE614qhqWajqf2Ufn9JJdj8T/ZOecfU47AflK93xCBhSK7/le9JbiOmxSqzlszIwmVKPus3andT1Evv6hr/cXqeT3Y6/CP2hfZ23fu4kl1d3jZIf1xW+PYGf3zQyN8gctFrwfiB++eytX3JYNwg4g7rGDZPRioijFxxQ9SkG1wzfcxe5rLujM09j/c7myExn/j7sQbrMl2Na6Y5j9yAjpQVVjJ76/StpAAAA");' }; for (var p in props) toolbaritem.setAttribute(p, props[p]); return toolbaritem; } }); CustomizableUI.registerToolbarNode(tb); } catch(e) { }; document.getElementById('about-button').addEventListener('click', event => { if (event.button === 0) { openTrustedLinkIn('about:about',"tab"); } }); })();
-
Wenn das Skript aus #2 oder #10 bei ihm, geldhuegel , nicht funktioniert, stimmt etwas mit seiner Installation nicht!
Beide funktionieren hier sowohl in der 138.0.1 (64-Bit) als auch in der 140.0a1 (2025-05-02) (64-Bit). -
Nochmals vielen Dank an alle, die geholfen haben. In einem neuen Profil arbeitet das Skript aus #2 perfekt. Ich habe es noch erfolgreich für about:config umgebaut. Ich denke, ich werde mein altes Profil mal bereinigen.
Das Skript von 2002Andreas Andreas werde ich bei Gelegenheit auch noch probieren. Aber für's erste ist es mal genug.
-
Guten Morgen,
ich habe beim testen im neuen Profil herausgefunden, dass die Skripte für about:about nicht mehr funktionieren sobald _Statusleiste.uc.js aktiv ist. Ich hoffe, das ist ok. wenn ich das Skript hier einstelle.
JavaScript
Alles anzeigen// Author @aborix (function() { if (location.href !== 'chrome://browser/content/browser.xhtml') return; var tb = document.createXULElement('toolbar'); tb.id = 'new-toolbar'; tb.setAttribute('customizable', true); tb.setAttribute('mode', 'icons'); tb.setAttribute("context","toolbar-context-menu"); var vbox = document.createXULElement('vbox'); document.getElementById('navigator-toolbox').parentNode.insertBefore( vbox, null); vbox.style.backgroundColor = ''; vbox.appendChild(tb); CustomizableUI.registerArea('new-toolbar', {legacy: true}); CustomizableUI.registerToolbarNode(tb); })();
Wenn nötig mache ich dafür auch ein neues Thema auf. Vielen Dank für Hilfen.
-
nicht mehr funktionieren sobald _Statusleiste.uc.js aktiv ist.
Funktioniert hier einwandfrei:
-
Entschuldige, falls dir die Frage dumm erscheint: hast du auch den Button gedrückt und die about Seite erscheint? Den Button habe ich nämlich auch, aber keine Funktion. Ich werde weiter probieren. Danke
-
hast du auch den Button gedrückt und die about Seite erscheint?
Selbstverständlich
Entschuldige, falls dir die Frage dumm erscheint
Du musst dich nicht entschuldigen, Fragen sind nie dumm.
-
Horstmann , Mira_Belle und 2002Andreas :
ich habe nun die Skripte von euch auf einem anderen Rechner mit 2mal neuen Profilen getestet. Sobald ich die Versionen in die Statusleiste aus Beitrag #25 verlege habe ich zwar Buttons, aber keine Funktion. Ich verwende nun die Version aus #9 mit dem kleinen Icon in der Adressleiste. Ausserdem habe ich das Skript noch für about:config geändert und mit einem anderen Icon versehen. Beide arbeiten nun zur Zufriedenheit.
Warum das auf meinen Rechnern so ist verstehe wer will. Nochmals vielen Dank für eure Hilfestellungen.
-
Sobald ich die Versionen in die Statusleiste aus Beitrag #25 verlege habe ich zwar Buttons, aber keine Funktion.
Ich habe dabei das Problem, dass diese Statusleiste bei mir nicht funktioniert, aber uU wegen meinem alten Firefox...
-
Moment mal.
Ich in #2, und Mira_Belle in #10 benutzen ->
var toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton');
2002Andreas in #9 benutzt aber var toolbaritem = aDocument.createXULElement('toolbarbutton');
Wie vermutlich viele von uns, kopiere ich solche Sachen idR aus alten Scripts in neue, ohne gross nachzudenken, solange es funktioniert.Gedanken dazu?
Könnte das mit Fremdtoolbarleisten ein Problem erzeugen, oder generell?Hier #2 und #9 nochmal zum Vergleich; Zeile 39 bzw. 15:
JavaScript
Alles anzeigen/* aboutabout_ToolbarButton.uc.js */ // aboutabout-button.uc.js (function() { var css =` #aboutabout-ToolBarButton > image { display: none !important; } #aboutabout-ToolBarButton > label { display: flex !important; background-color: lightgreen !important; color: red !important; outline: 1px solid red !important; outline-offset: -1px !important; } #aboutabout-ToolBarButton:hover > label { background-color: green !important; color: cyan !important; outline: 1px solid purple !important; outline-offset: -1px !important; } `; var sss = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService); var uri = makeURI('data:text/css;charset=UTF=8,' + encodeURIComponent(css)); sss.loadAndRegisterSheet(uri, sss.AUTHOR_SHEET); if (location != 'chrome://browser/content/browser.xhtml') return; try { CustomizableUI.createWidget({ id: 'aboutabout-ToolBarButton', type: 'custom', defaultArea: CustomizableUI.AREA_NAVBAR, onBuild: function(aDocument) { var toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton'); var props = { id: 'aboutabout-ToolBarButton', class: 'toolbarbutton-1 chromeclass-toolbar-additional', label: 'About:About', tooltiptext: 'About:About', /* style: 'list-style-image: ', */ //onclick: 'if (event.button == 0) { \ // openTrustedLinkIn("about:about", "tab");\ // }; ' }; for (var p in props) toolbaritem.setAttribute(p, props[p]); return toolbaritem; } }); } catch(e) { }; document.getElementById('aboutabout-ToolBarButton').addEventListener('click', event => { if (event.button === 0) { openTrustedLinkIn("about:about", "tab"); } }); })();
JavaScript
Alles anzeigen(function() { if (!window.gBrowser){ return; } try { CustomizableUI.createWidget({ id: 'about-button', type: 'custom', defaultArea: CustomizableUI.AREA_NAVBAR, onBuild: function(aDocument) { var currentProfileDirectory = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/"); var buttonicon = "A.png"; var toolbaritem = aDocument.createXULElement('toolbarbutton'); var props = { id: 'about-button', class: 'toolbarbutton-1 chromeclass-toolbar-additional', removable: 'true', label: 'about:about', accesskey: '', tooltiptext: 'about:about', style: 'list-style-image: url("' + ("file:" + currentProfileDirectory + "/chrome/icons/" + buttonicon) + '");' }; for (var p in props) toolbaritem.setAttribute(p, props[p]); return toolbaritem; } }); CustomizableUI.registerToolbarNode(tb); } catch(e) { }; document.getElementById('about-button').addEventListener('click', event => { if (event.button === 0) { openTrustedLinkIn('about:about',"tab"); } }); })();
-
Horstmanndas Skript der Statusleiste hat bei mir das Datum 25.10.2023. Ist also nichts Neues. Wie oben in #29 erwähnt, verwende nun das Skript von Andreas und ein 2. für about:config mit einem anderen Icon. Beide funktionieren einwandfrei, auch in mehreren Fenstern, immer im richtigen.
Für mich ist das Thema erledigt. Ich lasse es aber noch offen, für den Fall, dass von euch noch Vorschläge kommen.
-
Neue, von mir angepasste Version.
JavaScript
Alles anzeigen// JavaScript Document // QuickLinkButton-about:about.uc.js // Source file https://www.camp-firefox.de/forum/thema/135613/?postID=1213791#post1213791 // Source file https://www.camp-firefox.de/forum/thema/139289/?postID=1271890#post1271890 /* ----------------------------------------------------------------------------------- */ /* Zu beachten ist, dass die Grafiken sich im richtigen Ordner befinden müssen */ /* %appdata%\Mozilla\Firefox\Profiles\"Profilname"\chrome\icons */ /* ----------------------------------------------------------------------------------- */ (function() { if (location.href !== 'chrome://browser/content/browser.xhtml') return; try { CustomizableUI.createWidget({ id: 'link-button-about', type: 'custom', defaultArea: CustomizableUI.AREA_NAVBAR, onBuild: function(aDocument) { let toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton'); let props = { id: 'link-button-about', class: 'toolbarbutton-1 chromeclass-toolbar-additional', removable: 'true', label: 'Quicklink: about:about', tooltiptext: 'Quicklink:\nabout:about', }; for (var p in props) { toolbaritem.setAttribute(p, props[p]); } return toolbaritem; } }); } catch(e) {}; document.getElementById('link-button-about').addEventListener('click', event => { if (event.button === 0) { openTrustedLinkIn("about:about", "tab") } }); // Pfad zum Profilordner let ProfilePath = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/"); // Pfad in den entsprechenden Unterordner let IconPath = '/chrome/icons/'; // Name & Dateiendung des anzuzeigenden Symbols! let ButtonIcon = "firefox.svg"; // Erstelle ein img-Element, um zu überprüfen, ob die Grafik geladen werden kann let img = new Image(); img.src = "file:" + ProfilePath + IconPath + ButtonIcon; img.onload = function() { // Wenn die Grafik geladen werden kann, setze das listStyleImage document.getElementById('link-button-about').style.listStyleImage = 'url("' + ("file:" + ProfilePath + IconPath + ButtonIcon) + '")'; document.getElementById('link-button-about').style.color = '#f1b508'; // Hier wird die Iconfarbe direkt gesetzt }; img.onerror = function() { // Wenn die Grafik nicht geladen werden kann, verwende das Fallback-Icon document.getElementById('link-button-about').style.listStyleImage = 'url("chrome://global/skin/icons/warning.svg")'; document.getElementById('link-button-about').style.color = 'red'; // Hier wird die Iconfarbe direkt gesetzt }; })();
-
Hi Mira_Belle , vielen Dank für das überarbeitete Skript. Oben neben dem Hauptmenü habe ich einen Button und das Skript zeigt mir auf Klick die about:about Seite. Bei mehreren Fenstern immer im richtigen. Beim ersten Mal hatte ich das Icon noch nicht geändert und es wurde ein Warndreieck angezeigt.
Nun starte ich "Symbolleiste anpassen", ziehe das Icon nach unten in die Statusleiste (Skript weiter oben) und starte den Firefox neu mit Cache löschen. Entweder über Skript Neustart oder über Fehlerbehebungsmodus. Ergebnis: kein Icon, nur Platzhalter, keine Funktion beim Anklicken.
Keine Ahnung, was bei mir so anders ist. Ich werde später am Tag das Skript auch auf einem anderen Rechner probieren und melde mich dann wieder.
-
geldhuegel Gerade getestet.
Skript "installiert" für die "Statusleiste", Firefox neu gestartet und da is' sie.
Symbolleisten anpassen angeklickt und den Buton "Quicklink about:about"
in die "neue" Statusleiste gezogen.
Tab "Firefox anpassen" schließen und Firefox neu gestartet.
Leiste ist da, Button auch, mit Symbol, und er funktioniert einwandfrei.
Kann das noch jemand anderes testen, bitte. -
keine Funktion beim Anklicken.
Auch das Skript aus Beitrag Nr. 33 funktioniert einwandfrei aus der Leiste unten.
Ich habe aber mal 2 Einträge Zeile 56 + 62: .style.color gegen .style.fill ausgetauscht:
JavaScript
Alles anzeigen// JavaScript Document // QuickLinkButton-about:about.uc.js // Source file https://www.camp-firefox.de/forum/thema/135613/?postID=1213791#post1213791 // Source file https://www.camp-firefox.de/forum/thema/139289/?postID=1271890#post1271890 /* ----------------------------------------------------------------------------------- */ /* Zu beachten ist, dass die Grafiken sich im richtigen Ordner befinden müssen */ /* %appdata%\Mozilla\Firefox\Profiles\"Profilname"\chrome\icons */ /* ----------------------------------------------------------------------------------- */ (function() { if (location.href !== 'chrome://browser/content/browser.xhtml') return; try { CustomizableUI.createWidget({ id: 'link-button-about', type: 'custom', defaultArea: CustomizableUI.AREA_NAVBAR, onBuild: function(aDocument) { let toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton'); let props = { id: 'link-button-about', class: 'toolbarbutton-1 chromeclass-toolbar-additional', removable: 'true', label: 'Quicklink: about:about', tooltiptext: 'Quicklink:\nabout:about', }; for (var p in props) { toolbaritem.setAttribute(p, props[p]); } return toolbaritem; } }); } catch(e) {}; document.getElementById('link-button-about').addEventListener('click', event => { if (event.button === 0) { openTrustedLinkIn("about:about", "tab") } }); // Pfad zum Profilordner let ProfilePath = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/"); // Pfad in den entsprechenden Unterordner let IconPath = '/chrome/icons/'; // Name & Dateiendung des anzuzeigenden Symbols! let ButtonIcon = "firefox.svg"; // Erstelle ein img-Element, um zu überprüfen, ob die Grafik geladen werden kann let img = new Image(); img.src = "file:" + ProfilePath + IconPath + ButtonIcon; img.onload = function() { // Wenn die Grafik geladen werden kann, setze das listStyleImage document.getElementById('link-button-about').style.listStyleImage = 'url("' + ("file:" + ProfilePath + IconPath + ButtonIcon) + '")'; document.getElementById('link-button-about').style.fill = '#f1b508'; // Hier wird die Iconfarbe direkt gesetzt }; img.onerror = function() { // Wenn die Grafik nicht geladen werden kann, verwende das Fallback-Icon document.getElementById('link-button-about').style.listStyleImage = 'url("chrome://global/skin/icons/warning.svg")'; document.getElementById('link-button-about').style.fill = 'red'; // Hier wird die Iconfarbe direkt gesetzt }; })();
-
Achja, ich Schussel.
Habe das Skript vor diese Korrektur hier reingestellt.
Danke 2002Andreas -
Danke
Alles ist gut
-
Hi Mira_Belle , vielen Dank für das überarbeitete Skript. Oben neben dem Hauptmenü habe ich einen Button und das Skript zeigt mir auf Klick die about:about Seite. Bei mehreren Fenstern immer im richtigen. Beim ersten Mal hatte ich das Icon noch nicht geändert und es wurde ein Warndreieck angezeigt.
Nun starte ich "Symbolleiste anpassen", ziehe das Icon nach unten in die Statusleiste (Skript weiter oben) und starte den Firefox neu mit Cache löschen. Entweder über Skript Neustart oder über Fehlerbehebungsmodus. Ergebnis: kein Icon, nur Platzhalter, keine Funktion beim Anklicken.
Keine Ahnung, was bei mir so anders ist. Ich werde später am Tag das Skript auch auf einem anderen Rechner probieren und melde mich dann wieder.
Wenn du spasseshalber das mal probieren könntest, und ob es in deiner Statusleiste funktioniert:
Ich habe in Mira's Script aus #33 var toolbaritem = aDocument.createXULElement('toolbarbutton'); reingepackt von #9, sowie (sollte eigentlich nichts machen) CustomizableUI.registerToolbarNode(tb); und if (!window.gBrowser){return;} .
Es muss ja einen Grund dafür geben, dass das Script von 2002Andreas bei dir für deine Extraleiste funktioniert, die anderen aber nicht.
Im übrigen gibt es einige Beiträge zu finden, wenn man dieses Form nach Statusleiste durchsucht, inkl. über nicht funktionierende Buttons in manchen Leistenversionen.JavaScript
Alles anzeigen// JavaScript Document // QuickLinkButton-about:about.uc.js //TESTSTEST /* ----------------------------------------------------------------------------------- */ /* Zu beachten ist, dass die Grafiken sich im richtigen Ordner befinden müssen */ /* %appdata%\Mozilla\Firefox\Profiles\"Profilname"\chrome\icons */ /* ----------------------------------------------------------------------------------- */ // Nur TEST TEST TEST !!!!! (function() { // Test 1 //if (location != 'chrome://browser/content/browser.xhtml') return; if (!window.gBrowser){ return; } try { CustomizableUI.createWidget({ id: 'link-button-about', type: 'custom', defaultArea: CustomizableUI.AREA_NAVBAR, onBuild: function(aDocument) { // Test 2 //var toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton'); let toolbaritem = aDocument.createXULElement('toolbarbutton'); let props = { id: 'link-button-about', class: 'toolbarbutton-1 chromeclass-toolbar-additional', removable: 'true', label: 'Quicklink: about:about', tooltiptext: 'Quicklink:\nabout:about', }; for (var p in props) { toolbaritem.setAttribute(p, props[p]); } return toolbaritem; } }); // Test 3 CustomizableUI.registerToolbarNode(tb); } catch(e) {}; document.getElementById('link-button-about').addEventListener('click', event => { if (event.button === 0) { openTrustedLinkIn("about:about", "tab") } }); // Pfad zum Profilordner let ProfilePath = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/"); // Pfad in den entsprechenden Unterordner let IconPath = '/chrome/icons/'; // Name & Dateiendung des anzuzeigenden Symbols! let ButtonIcon = "firefox.svg"; // Erstelle ein img-Element, um zu überprüfen, ob die Grafik geladen werden kann let img = new Image(); img.src = "file:" + ProfilePath + IconPath + ButtonIcon; img.onload = function() { // Wenn die Grafik geladen werden kann, setze das listStyleImage document.getElementById('link-button-about').style.listStyleImage = 'url("' + ("file:" + ProfilePath + IconPath + ButtonIcon) + '")'; document.getElementById('link-button-about').style.color = '#f1b508'; // Hier wird die Iconfarbe direkt gesetzt }; img.onerror = function() { // Wenn die Grafik nicht geladen werden kann, verwende das Fallback-Icon document.getElementById('link-button-about').style.listStyleImage = 'url("chrome://global/skin/icons/warning.svg")'; document.getElementById('link-button-about').style.color = 'red'; // Hier wird die Iconfarbe direkt gesetzt }; })();
-
was bei mir so anders ist.
So wie ich das sehe hat das Skript bei dir die Bezeichnung:
_Statusleiste.uc.js
ändere die doch bitte mal zum Beispiel zu:
Addonleiste.uc.js
und teste es dann.
Bei deiner Bezeichnung funktioniert der Button about:about hier nämlich auch nicht.
-