Für die Dateipfade zu den Icons besser so etwas nutzen!
Es ist da auch schon ein Fallback "eingebaut" falls irgendetwas klemmt.
JavaScript
// ------------------------------------------------------------------------------------------------
// 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 = "DeepL_2.png";
// 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
menuitem.style.listStyleImage = 'url("' + ("file:" + ProfilePath + IconPath + ButtonIcon) + '")';
};
img.onerror = function() {
// Wenn die Grafik nicht geladen werden kann, verwende das Fallback-Icon
menuitem.style.listStyleImage = 'url("chrome://browser/skin/translations.svg")';
};
// ------------------------------------------------------------------------------------------------
Alles anzeigen