Beiträge von Mira_Belle
-
-
Danke fürs Testen.
Aber 19 Zeilen statt 4, nur wegen der genauen Pfadangabe
Nein darum geht es mir und wahrscheinlich auch Horstmann eben nicht!
Sondern, dass jeder das einfach so nutzen kann.
Wir hatten es schon einmal, da war es bei zwei JS, dass Nutzer mit den Pfadangaben so gar nicht zurechtkamen.
Daher soll der Code, in diesem Fall das CSS, so einfach wie nur möglich in der Anwendung sein!Kopieren, einfügen, fertig.
-
-
Sorry Mitleser , aber bei mir funktioniert das so nicht.
Aber Du hast mich auf eine Idee gebracht und so funktioniert es (bei mir).CSS
Alles anzeigentreechildren::-moz-tree-image(container), .bookmark-item[container="true"] { list-style-image: url("../icons/default-browser-red.svg") !important; } menu.bookmark-item[container="true"]::before { content: url("../icons/folder-plus.svg") !important; width: 16px !important; min-width: 16px !important; max-width: 16px !important; height: 16px !important; background-repeat: no-repeat !important; background-size: 16px 16px !important; background-position: left 1px top 0px !important; padding-right: 24px !important; } /*Originalicon löschen*/ menu.bookmark-item[container="true"] > img { display: none !important; }
-
Wieder was gelernt
Jup, wieder was gelernt.
Denn eben gerade hatte ich etwas Zeit mir das CSS genauer anzusehen.Der Selektor #context-to-top bezieht sich ja schon auf das Symbol,
daher muss man das nicht noch einmal ansprechen.Ergo, die Zeile --menuitem-icon: url("chrome://browser/skin/downloads/downloads.svg"); kann gelöscht,
sollte gelöscht werden. Sie stiftet nur Verwirrung! -
Zeile 40 muss dann aber auch noch angepasst werden.
Oh, muss nicht, wäre aber besser!
Aus list-style-image: .. mach besser --menuitem-icon: .. -
lionsson Äh, bei Andreas Version fehlt aber der Schließenbutton!
-
Ersetze Zeile menuitem.style.listStyleImage='url("chrome://browser/skin/downloads/downloads.svg")'; beide,
durch menuitem.style.setProperty('--menuitem-icon','url("chrome://browser/skin/downloads/downloads.svg")'); -
Mal so auf die Schnelle.
JavaScript
Alles anzeigen//ScrollTopAndBottom.uc.js //Tab schließen zusätzlich eingefügt (function() { if (location.href !== 'chrome://browser/content/browser.xhtml') return; let menuitem = document.createXULElement('menuitem'); menuitem.id = 'context-to-top'; menuitem.classList.add('menuitem-iconic'); menuitem.setAttribute('tooltiptext' , 'Zum Seitenanfang springen'); menuitem.style.setProperty('--menuitem-icon','url("chrome://browser/skin/downloads/downloads.svg")'); menuitem.addEventListener('click', () => { if (event.button == 0) { ownerGlobal.gBrowser.selectedBrowser.messageManager.loadFrameScript(' data: , content.scrollTo({ top: 0, left: 0, behavior: \"smooth\" }) ' , false); } }); let refItem = document.getElementById('context-reload'); refItem.parentNode.insertBefore(menuitem, refItem); })(); (function() { if (location.href !== 'chrome://browser/content/browser.xhtml') return; let menuitem = document.createXULElement('menuitem'); menuitem.id = 'context-to-bottom'; menuitem.classList.add('menuitem-iconic'); menuitem.setAttribute('tooltiptext' , 'Zum Seitenende springen'); menuitem.style.setProperty('--menuitem-icon','url("chrome://browser/skin/downloads/downloads.svg")'); menuitem.addEventListener('click', () => { if (event.button == 0) { ownerGlobal.gBrowser.selectedBrowser.messageManager.loadFrameScript(' data: , content.scrollTo({ top: 100000, left: 0, behavior: \"smooth\" }) ' , false); } }); var css = '\ #context-to-top { \ --menuitem-icon: url("chrome://browser/skin/downloads/downloads.svg");\ transform:rotate(180deg)!important;\ }\ #context-to-top,\ #context-to-bottom {\ order: -1 !important;\ }'; var cssUri = Services.io.newURI('data:text/css,' + encodeURIComponent(css), null, null); var SSS = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService); SSS.loadAndRegisterSheet(cssUri, SSS.AGENT_SHEET); let refItem = document.getElementById('context-reload'); refItem.parentNode.insertBefore(menuitem, refItem); })(); (function() { if (location.href !== 'chrome://browser/content/browser.xhtml') return; let menuitem = document.createXULElement('menuitem'); menuitem.id = 'Tab schließen'; menuitem.classList.add('menuitem-iconic'); menuitem.setAttribute('tooltiptext' , 'Tab schließen'); menuitem.style.setProperty('--menuitem-icon','url(chrome://global/skin/icons/close.svg)'); menuitem.addEventListener('click', () => { if (event.button == 0) { BrowserCommands.closeTabOrWindow(); } }); let refItem = document.getElementById('context-reload'); refItem.parentNode.insertBefore(menuitem, refItem); })();
-
Warum nicht einfach about:addons in die Adressleiste eingeben, wenn man genau dort hin will?
Wenn Du auch Skripte verwendest, könntest Du Dir auch einen Button "machen". QuickLink so zu sagen,
oder ich, oder wer anders.JavaScript
Alles anzeigen// JavaScript Document // QuickLinkButton-about:addons.uc.js = Button_for_QuickLinks-about.uc.js /* ----------------------------------------------------------------------------------- */ /* 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:addons', tooltiptext: 'Quicklink:\nabout:addons', }; 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://browser/skin/flame.svg")'; document.getElementById('link-button-about').style.fill = 'red'; // Hier wird die Iconfarbe direkt gesetzt }; })();
-
Poste hier Deine Skripte, die bei Dir nicht mehr funktionieren, bitte.
Und ja, es gibt da einige Änderungen, aber die kann ich jetzt nicht so einfach aus dem Ärmel schütteln,
ich muss sehen, eventuell mit meinen vergleichen, dann kann ich sie korrigieren. -
Das Problem hatte ich auch schon, ähnlich wie hier diskutiert.
Danke.
Dann würde so etwas gehen:CSS
Alles anzeigen:root { --uno: url("file:///C:/Users/Mira/AppData/Roaming/Mozilla/Firefox/Profiles/Neu/chrome/icons/folder-plus.svg") !important; --dos: url("file:///C:/Users/Mira/AppData/Roaming/Mozilla/Firefox/Profiles/Neu/chrome/icons/default-browser-red.svg") !important; } treechildren::-moz-tree-image(container), .bookmark-item[container="true"] { list-style-image: url("../icons/folder.svg") !important; --bookmark-item-icon: image-set(var(--uno)) !important; } #bookmarksToolbarFolderMenu { --menuitem-icon: image-set(var(--dos)) !important; }
Wobei auch das eben auch kein allgemein gültiges CSS ist!
Auch da muss mit dem absoluten Pfad gearbeitet werden.Grrrr, das ist doch
-
Ich wollte/will mein eigenes Icon wiederhaben, und das habbich ja auch
Das ist schön und freut mich für Dich.
Nur ist das keine allgemeine Lösung, an der wir uns gerade versuchen.Horstmann Eventuell könnte da was mit content gehen,
aber ich finde kein Unterscheidungsmerkmal für Symbole von Links!
Denn wenn ich .bookmark-item > img.menu-icon oder so, ausblende,
sind nicht nur die "Ordnersymbole" weg, sondern eben auch die Icons von den Pages. -
Horstmann Das mit der Variabel habe ich auch schon ausprobiert,
doch leider gibt es in CSS keine Möglichkeit, Variablen zu verketten oder Pfade dynamisch zu ergänzen.
url(var(--xxx) + "icons/folder_10.png") oder ähnliche Konstruktionen sind in CSS nicht gültig.Wäre echt gut gewesen.
Bleibt also nur interne Symbole zu verwenden oder halt den absoluten Pfad zu nutzen. Echt doof.
Oder mit Kanonen auf Spatzen ..., aber das würde ja viel zu weit gehen und für User ohne JS ...
Ach was, lassen wir das.harff182
Oder, wie in diesem Fall, weil es ja im Grunde nur um "Farbe" geht, die Symbole einzufärben.
Z.B. .bookmark-item[container] { fill: red !important; } -
-
-
Meine Antwort war wohl etwas voreilig!
Zu aller erst musst Du mal herausfinden, mit welchem Profil Deine andere Software zusammen arbeitet!
Erst danach kann dieses Profil auf Vordermann gebracht werden. -
-
Horstmann Das ...
CSS/* Standard-Ordner-Icon festlegen */ .bookmark-item[container] { --menuitem-icon: url('chrome://global/skin/icons/defaultFavicon.svg') !important; }
... funktioniert!
-