- Firefox-Version
- 132.0.1
- Betriebssystem
- Windows 10 Version 22H2 (Build 19044.5011)
Es geht um folgenden Abschnitt eines JavaScriptes:
JavaScript
init: function() {
this.handleRelativePath(this.toolbar.apps);
const XULNS = 'http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul';
var ExternalAppBtn = document.createElementNS(XULNS, 'toolbarbutton');
ExternalAppBtn.id = "AppMenuButton";
ExternalAppBtn.setAttribute("label", "AppButton");
ExternalAppBtn.setAttribute("onclick", "event.preventDefault();event.stopPropagation();");
ExternalAppBtn.setAttribute("tooltiptext", "Firefox Menü");
ExternalAppBtn.setAttribute("type", "menu");
ExternalAppBtn.setAttribute("removable", "true");
// Definiere den Profilpfad
let ProfilePath = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir, 'chrome', 'image'));
// Symbole
let DefaultIcon = "Button_groß.png";
let AlternateIcon = "Button_klein-plus.png";
// Wenn Appmenu.isButton true ist, benutze das große Symbol, sonst das kleine
if (Appmenu.isButton) {
ExternalAppBtn.style.listStyleImage = `url('${ProfilePath}/${DefaultIcon}')`; // Großes Symbol
ExternalAppBtn.style.width = "94px"; // Feste Breite für großes Symbol
ExternalAppBtn.style.height = "24px"; // Feste Höhe für großes Symbol
} else {
ExternalAppBtn.style.listStyleImage = `url('${ProfilePath}/${AlternateIcon}')`; // Kleines Symbol
ExternalAppBtn.style.width = "16px"; // Feste Breite für kleines Symbol
ExternalAppBtn.style.height = "21px"; // Feste Höhe für kleines Symbol
}
// Button in die richtige Toolbar einfügen
if (Appmenu.isUrlbar === 1) {
var navBar = document.getElementById("nav-bar-customization-target");
navBar.insertBefore(ExternalAppBtn, navBar.firstChild);
} else if (Appmenu.isUrlbar === 2) {
var menubar = document.getElementById("toolbar-menubar");
menubar.insertBefore(ExternalAppBtn, menubar.firstChild);
} else {
var TabsToolbar = document.getElementById("TabsToolbar");
TabsToolbar.insertBefore(ExternalAppBtn, TabsToolbar.firstChild);
}
var ExternalAppPopup = document.createElementNS(XULNS, 'menupopup');
//ExternalAppPopup.setAttribute('onpopupshowing', 'event.stopPropagation(); Appmenu.onpopupshowing();');
ExternalAppPopup.setAttribute('id', 'AMpopup');
this._externalAppPopup = ExternalAppPopup;
ExternalAppBtn.appendChild(ExternalAppPopup);
Appmenu.onpopupshowing();
// Menü mit Tastaturkürzel öffnen
let key = document.createXULElement('key');
key.id = 'key_AppMenuPopup';
// key.setAttribute('key', 'X');
key.setAttribute('key', Appmenu.hotkey);
if (Appmenu.hotkeyModifier)
// key.setAttribute('modifiers', 'alt');
key.setAttribute('modifiers', Appmenu.hotkeyModifier);
key.setAttribute('oncommand', 'document.getElementById("AMpopup").openPopup();');
document.getElementById('mainKeyset').appendChild(key);
},
Alles anzeigen
Dort wird ein neuer Button generiert, der, in diesem Fall in der Menüleiste erscheinen soll.
Tut er auch, nur es scheint, dass Firefox eine Unterschreitung bestimmter Größenangaben nicht zulässt!
Und zwar möchte ich einen "kleinen" Button, entsprechend der Grafik, die darüber gelegt wird.
Das klappt aber irgendwie nicht!
Das Schwarze ist der Button!
Es spielt absolut keine Rolle, wie klein ich den Wert ExternalAppBtn.style.width = "16px"; auch wähle,
die Breite scheint fix zu sein.
Hat irgendjemand eine Idee, wie man das mit dem Button anders realisieren kann?
Das komplette Skript hänge ich mal als ZIP hier drann, ist recht "groß".