Aber nach dem Grund suche ich nicht weiter
Aaaaahhh, da ist es also auch so .
Neee, das ist die Mühe nicht wert. ![]()
Aber nach dem Grund suche ich nicht weiter
Aaaaahhh, da ist es also auch so .
Neee, das ist die Mühe nicht wert. ![]()
So müsste der Pfad dann eigentlich aussehen:
Nur zur Bestätigung, das funktioniert so, denn ich habe mal die Ordner alle so angelegt, nur als Icon png-Dateien genommen.
Dann noch eine Sache dazu, in einem Nightly mit heutigem Update wird auch alles mit dem "alten" Base64 - Code angezeigt (aber nur in dem einen, sehr komisch).
Muss ich zippen, sonst kann ich die ico-Datei nicht hochladen
Mit diesen und anderen png-Dateien habe ich auch probiert, aber alle wurden immer zu klein angezeigt, deswegen die Dateien vom Fox.
In dem Script #50 in Zeile 31 und 36 kannst du die Farbe ändern.
Ich mische mich hier auch noch mal ein, aus den Scripten von Andreas und Endor habe ich mal dieses Script erstellt (es wird keine css-Datei zusätzlich benötigt), was dann so aussieht:
//ScrollTopAndBottom.uc.js
(function() {
let menuitem = document.createXULElement('menuitem');
menuitem.id = 'context-to-top';
menuitem.classList.add('menuitem-iconic');
menuitem.setAttribute('tooltiptext' , '');
menuitem.style.listStyleImage='url("chrome://browser/skin/downloads/download-icons.svg#arrow-with-bar")';
menuitem.setAttribute('oncommand' , "ownerGlobal.gBrowser.selectedBrowser.messageManager.loadFrameScript(' data: , content.scrollTo(0,0) ' , false);");
let refItem = document.getElementById('context-reload');
refItem.parentNode.insertBefore(menuitem, refItem);
})();
(function() {
let menuitem = document.createXULElement('menuitem');
menuitem.id = 'context-to-bottom';
menuitem.classList.add('menuitem-iconic');
menuitem.setAttribute('tooltiptext' , '');
menuitem.style.listStyleImage='url("chrome://browser/skin/downloads/download-icons.svg#arrow-with-bar")';
menuitem.setAttribute('oncommand' , "ownerGlobal.gBrowser.selectedBrowser.messageManager.loadFrameScript(' data: , content.scrollTo(0,100000) ' , false);");
let refItem = document.getElementById('context-reload');
refItem.parentNode.insertBefore(menuitem, refItem);
var css = '\
#context-to-top { \
list-style-image: url("chrome://browser/skin/downloads/download-icons.svg#arrow-with-bar");\
transform:rotate(180deg)!important;\
color:green!important;\
}\
\
#context-to-bottom{\
list-style-image: url("chrome://browser/skin/downloads/download-icons.svg#arrow-with-bar");\
color:green!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);
})();
Alles anzeigen
Edit:
Der Code wurde nachträglich geändert, Hintergrund ist diesem Thema CSS Code wird nicht permanent im Script angewendet zu entnehmen.
Das hatten wir, glaube ich, jetzt schon einmal.
Ja, hier: RE: userChrome.js Scripte für den Fuchs (Diskussion)
Im Nightly gibt es den neuen Eintrag in der ersten Zeile, das Icon (lokal gespeichert) habe ich mit dem Code eingefügt.
menuitem[label="Grafik in neuem Tab öffnen"]{
appearance:none!important;
background: url("file:///C:/FoxIcons/0012.png") no-repeat !important;
background-position: 5px 4px !important;}
menuitem[label="Grafik in neuem Tab öffnen"]:hover{
appearance:none!important;
background: greenyellow url("file:///C:/FoxIcons/0012.png") no-repeat !important;
background-position: 5px 4px !important;}
hinzu gefügt das hat hier schon gereicht.
Danke, Endor, das war mehr als ausreichend.
![]()
Hast Du im Nightly bei den about Seiten noch was gesehen was man ändern müsste?
Auch ich bedanke mich.
![]()
Ja, Endor, da wäre noch was bei about:certificate, ist aber schon in Version 86 so. Ich hatte mich nicht dazu geäußert, weil ich es nicht für so wichtig hielt. Aber eventuell hast du ja die Lösung dafür, denn es ist dort dieser leicht graue Rahmen um die einzelnen Teile.
Bis jemand ein besseres Icon gefunden hat
Ja, Andreas, so geht es auch. Für mich habe ich Icons lokal abgespeichert und nutze das Script jetzt so.
//SkipToTopAndBottom.uc.js
(function() {
let menuitem = document.createXULElement('menuitem');
menuitem.id = 'context-to-top';
menuitem.classList.add('menuitem-iconic');
menuitem.setAttribute('tooltiptext' , 'Zum Seitenanfang springen');
menuitem.style.listStyleImage='url("file:///C:/FoxIcons/0008.png")';
menuitem.setAttribute('oncommand' , "ownerGlobal.gBrowser.selectedBrowser.messageManager.loadFrameScript(' data: , content.scrollTo(0,0) ' , false);");
let refItem = document.getElementById('context-reload');
refItem.parentNode.insertBefore(menuitem, refItem);
})();
(function() {
let menuitem = document.createXULElement('menuitem');
menuitem.id = 'context-to-bottom';
menuitem.classList.add('menuitem-iconic');
menuitem.setAttribute('tooltiptext' , 'Zum Seitenende springen');
menuitem.style.listStyleImage='url("file:///C:/FoxIcons/0009.png")';
menuitem.setAttribute('oncommand' , "ownerGlobal.gBrowser.selectedBrowser.messageManager.loadFrameScript(' data: , content.scrollTo(0,100000) ' , false);");
let refItem = document.getElementById('context-reload');
refItem.parentNode.insertBefore(menuitem, refItem);
})();
Alles anzeigen
Wer das Script nutzen sollte, ab heute funktioniert der Base 64-Code in Nightly nicht mehr. Das Script selbst schon.
//SkipToTopAndBottom.uc.js
(function() {
let menuitem = document.createXULElement('menuitem');
menuitem.id = 'context-to-top';
menuitem.classList.add('menuitem-iconic');
menuitem.setAttribute('tooltiptext' , 'Zum Seitenanfang springen');
menuitem.style.listStyleImage='url("data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTAwMCAxMDAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAwIDEwMDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxnPjxwYXRoIGQ9Ik00NjcuNiwyNjMuNEwyNS43LDY2NS4yYy0xOS42LDE3LjktMjEuMSw0OC40LTMuMyw2OC4xYzE4LDE5LjcsNDguNCwyMS4xLDY4LjEsMy4zbDQwOS41LTM3Mi4ybDQwOS4zLDM3Mi4yYzE5LjgsMTcuOSw1MC4zLDE2LjUsNjguMi0zLjNjOC4zLTkuMiwxMi41LTIwLjgsMTIuNS0zMi40YzAtMTMuMS01LjMtMjYuMi0xNS43LTM1LjdMNTMyLjQsMjYzLjRDNTE0LDI0Ni44LDQ4NS45LDI0Ni44LDQ2Ny42LDI2My40eiIvPjwvZz48L3N2Zz4=")';
menuitem.setAttribute('oncommand' , "ownerGlobal.gBrowser.selectedBrowser.messageManager.loadFrameScript(' data: , content.scrollTo(0,0) ' , false);");
let refItem = document.getElementById('context-reload');
refItem.parentNode.insertBefore(menuitem, refItem);
})();
(function() {
let menuitem = document.createXULElement('menuitem');
menuitem.id = 'context-to-bottom';
menuitem.classList.add('menuitem-iconic');
menuitem.setAttribute('tooltiptext' , 'Zum Seitenende springen');
menuitem.style.listStyleImage='url("data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTAwMCAxMDAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAwIDEwMDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxnPjxwYXRoIGQ9Ik01MzIuNCw3MzYuNmw0NDEuOS00MDEuOGMxOS42LTE3LjgsMjEuMS00OC40LDMuMi02Ny45Yy0xNy45LTE5LjgtNDguNC0yMS4zLTY3LjktMy40TDUwMCw2MzUuOEw5MC44LDI2My40Yy0xOS44LTE3LjgtNTAuNC0xNi4zLTY4LjIsMy40Yy04LjQsOS4yLTEyLjYsMjAuOC0xMi42LDMyLjRjMCwxMyw1LjQsMjYuMiwxNS44LDM1LjZsNDQxLjksNDAxLjhDNDg2LjEsNzUzLjIsNTE0LjIsNzUzLjIsNTMyLjQsNzM2LjZ6Ii8+PC9nPjwvc3ZnPg==")';
menuitem.setAttribute('oncommand' , "ownerGlobal.gBrowser.selectedBrowser.messageManager.loadFrameScript(' data: , content.scrollTo(0,100000) ' , false);");
let refItem = document.getElementById('context-reload');
refItem.parentNode.insertBefore(menuitem, refItem);
})();
Alles anzeigen
Hm, sieht hier im Nightly ohne Codeänderung so aus:
Deshalb schrieb Endor, dass es für Version 86 ist. ![]()
Ab Version 87 müsstest du mal meinen Änderungsvorschlag probieren.
Ab Firefox 86 sind bei about:profiling ganz unten zwei neue Schaltflächen:
Danke, Endor, das passt.
![]()
Im Nightly haben die Button andere Namen, da passte es dann nicht mehr so ganz. Dazu habe ich dann Zeile 3 auf 230px gesetzt, und in Zeile 32 auf 310px, dann passt es auch dort.
das klingt nämlich sonst so vorwurfsvoll.
Ich frage trotzdem nach, wenn ich nicht mehr weiter weiß, damit musst du halt leben.
![]()
sind nicht in der Lage wenigstens die Selektoren herauszufinden, sie sind immer darauf angewiesen, dass man ihnen den erforderlichen Code präsentiert
Danke, sehr freundlich. ![]()
Damit scheint jetzt alles wieder richtig zu sein und zu funktionieren.
Oder habe ich etwas übersehen
Danke, Andreas, das funktioniert erst einmal.
![]()
Mit diesem Code in der userChrome.css ist hier alles wieder ok, ohne an den Scripten etwas zu ändern
Ja, Andreas, aber ich möchte den Eintrag behalten und das Script nutzen, und das funktioniert leider nicht,
![]()
Erst wenn ich beide Skripte deaktiviere, ist das Problem behoben.
Ja, milupo, deshalb habe ich auch meinen Beitrag davor wieder gelöscht. Es ist zwar der Eintrag wieder da, aber das Script verliert seine Wirkung. Eventuell bekommen wir ja noch Hilfe.
Es ist das Script für linke Tabs schliessen, das den Eintrag ausblendet. Was kann daran nicht stimmen?
(function() {
if (location != 'chrome://browser/content/browser.xhtml')
return;
let menuitem = document.createXULElement('menuitem');
menuitem.id = 'context_closeLeftTabs';
menuitem.setAttribute('label', 'Linke Tabs schließen');
menuitem.setAttribute('oncommand',
'for (let i = TabContextMenu.contextTab._tPos - 1; i >= 0; i--) \
gBrowser.removeTab(gBrowser.tabs[i], {animate: true})');
let tabContextMenu = document.getElementById('tabContextMenu');
let refItem = document.getElementById('context_undoCloseTab');
tabContextMenu.insertBefore(menuitem, refItem);
tabContextMenu.insertBefore(document.getElementById('context_closeTabsToTheEnd'), refItem);
tabContextMenu.insertBefore(document.getElementById('context_closeOtherTabs'), refItem);
tabContextMenu.removeChild(document.getElementById('context_closeTabOptions'));
})();
Alles anzeigen
Das liegt an eurer Bastelei
Ja, das stimmt Andreas. Nur gab es das bisher nicht, dass ein Eintrag mit einer leeren Zeile erhalten bleibt.
Hier #context_toggleMuteTab im Bild 1, deaktiviere ich den Eintrag, so ist auch die Zeile weg, was stimmt da nicht.
Im Tab-Kontextmenü habe ich hier sogar zwei leere Zeilen.
Ja, milupo, habe ich jetzt auch gesehen, danke. Warten wir weiter ab.