aber danke fürs drüber schauen.
Alles ist gut, schön wenn es jetzt funktioniert
aber danke fürs drüber schauen.
Alles ist gut, schön wenn es jetzt funktioniert
Ich bin dann doch noch über einen Fehler gestolpert:
Die von mir vorgeschlagene Lösung funktioniert hier generell prima, mit einer Ausnahme: in eigenen Zusatzleisten, die nicht auf der navigator-toolbox basiert sind, funktioniert mein Code nicht.
Im JS Beispiel unten:
- Fix #1 funktioniert in den erwähnten Zusatzleisten, hat aber die in dieser Thread diskutierten Fehler (Elchtest).
- Fix #2 funktioniert nicht in den erwähnten Zusatzleisten, löst aber nach wie vor das ursprüngliche Problem.
- Fix #3 funktioniert hier auch in den erwähnten Zusatzleisten, und löst das ursprüngliche Problem.
Es hat vermutlich zu tun mit dieser Problematik, an der BrokenHeart schon gearbeitet hat, und Zusatzleisten wie diese , an der Mitleser und ich gebastelt hatten, oder vergleichbaren.
Vermutlich wird in einigen Fällen der addEventListener in Fix#2 einzusetzen versucht, bevor der Button komplett(?) in der Zusatzleisten geladen wurde; ähnliches Problem im Anpassenfenster, aber da gibt's nur eine harmlosen Konsolenfehlermeldung.
Das ist ein sehr spezieller Anwendungsfall, daher gibt es wohl keinen Grund bestehende Codes deshalb umzuschreiben, ich wollte es nur der Vollständigkeit halber erwähnt haben.
Beispielscript bei Interesse:
// aboutaddons-button.uc.js Test fix Zusatzleisten
(function() {
if (!window.gBrowser) return;
try {
CustomizableUI.createWidget({
id: 'Addon_button',
type: 'custom',
defaultArea: CustomizableUI.AREA_NAVBAR,
onBuild: function(aDocument) {
let Add_icon = 'Letters_A-1.png'; // eigenes Icon in Profilordner/chrome/icons
let curProfDir = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir));
let iconPath = '/chrome/icons/';
let toolbaritem = aDocument.createXULElement("toolbarbutton");
let props = {
id: 'Addon_button',
class: 'toolbarbutton-1 chromeclass-toolbar-additional',
label: 'Addons',
tooltiptext: 'about:addons',
style: 'list-style-image: url(chrome://global/skin/icons/plus.svg)',
//style: 'list-style-image: url("' + curProfDir + iconPath + Add_icon + '")',
};
for (let p in props)
toolbaritem.setAttribute(p, props[p]);
// Fix #1 Elchtest Fehler
// toolbaritem.addEventListener('click', event => {
// if (event.button === 0) {
// openTrustedLinkIn("about:addons", "tab");
// }
// });
return toolbaritem;
}
});
} catch(e) { };
// Fix #2 Elchtest ok, Zusatzleisten Fehler
// document.getElementById('Addon_button').addEventListener('click', event => {
// if (event.button === 0) {
// openTrustedLinkIn("about:addons", "tab");
// }
// });
// Fix #3 Elchtest ok, Zusatzleisten ok
(function add_button() {
let btn_exists = document.getElementById('Addon_button');
if (btn_exists) {
btn_exists.addEventListener('click', function(event) {
if (event.button === 0) {
openTrustedLinkIn("about:addons", "tab");
}
});
} else {
setTimeout(add_button, 100);
}
})();
})();
Alles anzeigen
ZitatButtons funktionieren nur im/ für das erste Fenster
Horstmann , die von Dir erwähnte vertikale Zusatzleiste mit Button funktioniert auch bei geöffnetem zweiten Fenster jeweils fensterabhängig. Der Dateiname ist übrigens wegen des Startzeitpunktes bewusst gewählt:
00_VertToolbarWithButton_lite.uc.js!
Der Dateiname ist übrigens wegen des Startzeitpunktes bewusst gewählt:
00_VertToolbarWithButton_lite.uc.js
Ich werd verrückt, das löst das Problem; hätt ich selber dran denken sollen...
Die Post oben lass ich mal stehen, vielleicht ist ja trotzdem irgendwas nützliches drin...
Es werden ja die Custom Buttons auch ohne deine Namens-Lösung in diese Zusatzleiste(n) physisch geladen und dargestellt, nur halt der bei meinem Fix#2 im Button JS unten angehängte addEventListener nicht rechtzeitig, daher ohne Funktion.
Herzlichen Dank mal wieder!