Doch, Button mit Icon.
Die ist dann angepasst worden.
Hier sieht die so aus:
JavaScript
// userChromeShadow.uc.js by aborix
// 28.07.2022 FF104+ Fix: using PathUtils.join (Sören Hentzschel)
(async function() {
if (location != 'chrome://browser/content/browser.xhtml') return;
try {
let path = PathUtils.join(PathUtils.profileDir, 'chrome', 'userChromeShadow.css');
let cssIn = await IOUtils.readUTF8(path);
let sss = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService);
let uri = makeURI('data:text/css;charset=UTF=8,' + encodeURIComponent(cssIn));
sss.loadAndRegisterSheet(uri, sss.AUTHOR_SHEET);
} catch(e) {
console.log("UserChromeShadow-Error: " + e.name + ': ' + e.message );
};
})();
Alles anzeigen
Und die Datei darin rufe ich dann damit auf:
JavaScript
// ruft die Datei userChromeShadow.css direkt auf per neuem Button
(function() {
if (location != 'chrome://browser/content/browser.xhtml') return;
try {
Components.utils.import("resource:///modules/CustomizableUI.jsm");
CustomizableUI.createWidget({
id: "Shadowbutton",
defaultArea: CustomizableUI.AREA_NAVBAR,
removable: true,
label: "Shadowbutton",
tooltiptext: "userChromeShadow.css",
onClick: function(event) {
if (event.button != 0){
return;
}
var dir = Services.dirsvc.get('UChrm', Ci.nsIFile);
dir.append('userChromeShadow.css');
// dir.append('Test.css');
dir.launch();
},
onCreated: function(aNode) {
aNode.style.listStyleImage = 'url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAA3NCSVQICAjb4U/gAAACGElEQVQokYWRT0iTcRjHv7+3vW5rbrmxvSZjEjmITupldrEOUWF0ELzULQhhlaekMlIoDwVBHYzq0MVAWkVg3QrSsiiYh4ZRk7nm2DvXnG3p3j9u794/vw5bK8Pyc3j4Pjx84fs8D6GUyg+78Qs5LwGwuRvlvFSv+APTbLqyKy8polLtd1z4IkYm1wDHsX0fx4f39A6mF97ZwmPVqdluJmFe4a5asZHy8TuWR2exGSTMK8nonN3KbDr+C7FkkDCvBHwN6zo0gwIwMUQzaLVuiM4QAJpBGQCqgeyqemhk3sGSxw/uh0b7pcSUyJLQaP/cvVPlbNTBkpSKlAoxMokwr8gajSxkcoJKKS1ImlDMVPSayAlqLvW5IGnFiiFrNCeoZDomdLXZpXXt/+mlUqkqGJvVnC+qA8HgQDBosWyrx63y+kOkKnxu+27OfuJWmgGgaeVEkk8keRNDGrebhq9c6zlyVDXI85dvZl69+La8ohoEANdzI3TOR6ZjQqvLEot+AtDe3qHrxo/Cdw/XrOsGgKln4wd7TwJoaWJZBp2HT9cMW34gk8nW7gugUKLv5zM7PVzA1/Avg9fb8tsgl5TYV36pUA74/LPpCoC9XtuTy32Xbt4+PxF3RcYSi4v+7r5VmQ5eHGKWZcZJRJuTS6fiALq8Rpub9XAYuvt0peIZOXNgranjeuitv7XZ6XIDIBMz8f2d/i13qPMTIMz9uyOVOjQAAAAASUVORK5CYII=)';
return aNode;
}
});
} catch (e) {
Components.utils.reportError(e);
};
})();
Alles anzeigen
Teste bitte mal:
JavaScript
// userChromeShadow.uc.js by aborix
// 28.07.2022 FF104+ Fix: using PathUtils.join (Sören Hentzschel)
// https://www.camp-firefox.de/forum/thema/132865-shadowroot-neue-aufruf-methode-f%C3%BCr-css-regeln-wichtiges-update-28-07-2022/?postID=1175307#post1175307
(async function() {
if (location != 'chrome://browser/content/browser.xhtml') return;
try {
let path = PathUtils.join(PathUtils.profileDir, 'chrome', 'userChromeShadow.css');
let cssIn = await IOUtils.readUTF8(path);
let sss = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService);
let uri = makeURI('data:text/css;charset=UTF=8,' + encodeURIComponent(cssIn));
sss.loadAndRegisterSheet(uri, sss.AUTHOR_SHEET);
} catch(e) {
console.log("UserChromeShadow-Error: " + e.name + ': ' + e.message );
};
})();
// legt einen Button für userShadow.css (im Ordner chrome) an, und ruft die Datei direkt auf
(function() {
if (location != AppConstants.BROWSER_CHROME_URL) return;
try {
Components.utils.import("resource:///modules/CustomizableUI.jsm");
CustomizableUI.createWidget({
id: "OpenCSSShadowbutton",
defaultArea: CustomizableUI.AREA_NAVBAR,
removable: true,
label: "OpenCSSShadowbutton",
tooltiptext: "userChromeShadow.css",
onClick: function(event) {
if (event.button != 0){
return;
}
var dir = Services.dirsvc.get('UChrm', Ci.nsIFile);
dir.append('userChromeShadow.css');
// dir.append('Test.css');
dir.launch();
},
onCreated: function(aNode) {
aNode.style.listStyleImage = 'url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABqUlEQVQokWP89OkTAymABc76+fb99YnzXuw7xsrP67RpLiMzMz4NXx8/2+eV8OXhE05JMW45KQYGRgI2nM6r//r4qemEeuX4ELjZf7//+PX+I6eUOLIGJgYGhm9PXrzYf1wuyEslKRyu+sW+Yxs0HDdqO3958ARDw9Pn///9EzbRRZY4XdjIwMCgXZbJKSmGroFdSJCBgeHL/ccI4f//v9x/LOFgqVuZzczOxvD//49Xb/7//QvVwKMkJ6Ctdm/xurdnLqF4kImRgYHh9+cv+3yTNqg53Ji8AKqBkZnJdEI9AwPDHvfYQ+HZ13pn/f//H67r5tRFLw+dlPFxFnewhGpgYGAQMTd03r5QxNzgxb6jN6ct/v/nL1zD5zsPmNjYzGe0CRloMSBHnJChjvO2hb8/f2VkYvzz5SsDAwMTKwsDA8N/BgZGRgZGRiaEp5EBKy/3wzXbNht6MjAwSDrbMGAAFixCXJx86koKod4KYT5EaZAP9ZYP9YZzf3/6wsDIyMjMhFMDHHx79vJQaOaHKzfF7S2YOdix+wEF/P/PyMoiH+JlOacTLgYAnMqRpg2c0p8AAAAASUVORK5CYII=)';
return aNode;
}
});
} catch (e) {
Components.utils.reportError(e);
};
})();
Alles anzeigen