Die jeweils letzte Version bekomme ich ja über das Mozilla Repo automatisch.
Mehr kann ich dir da leider nicht helfen. Ich nutze ja kein Linux.
Die jeweils letzte Version bekomme ich ja über das Mozilla Repo automatisch.
Mehr kann ich dir da leider nicht helfen. Ich nutze ja kein Linux.
Auf archive.mozilla.org ist das letzte von heute.
Directory Listing: /pub/firefox/nightly/latest-mozilla-central-l10n/linux-x86_64/deb-l10n/
Da sind noch Inline-Eventhandler wie onclick drin. Du verwendest Fx 136, ab dieser Version funktionieren diese nicht mehr.
Also ich hatte mir nur den Update-Code an meine Skriptversion drangehängt. Die beiden Symbole funktionierten immer noch nicht. Habe jetzt das aktuelle von Aris getestet, da erscheint gar nichts mehr, weder Leiste, noch Button, noch der Leisteneintrag im Anpassen-Fenster.
Ah, war noch an mir vorbei gegangen, dass es dafür jetzt eine Änderung im Skript für die vertikale Add-on-Leiste gibt.
Den zusätzlichen Update-Code, der das Problem angeblich beheben soll, durchschaue ich überhaupt nicht...
Wem sagst du das …
Könnte aber auch der Button von einem Übersetzungsskript sein.
Ich habe das jetzt in 2 meiner Nightlys getestet, keine dauerhafte Funktion
Hm.
Den zusätzlichen Update-Code, der das Problem angeblich beheben soll, durchschaue ich überhaupt nicht...
Welcher Update-Code?
Wie deine beiden Beispiele zeigen, funktionieren die Buttons nur in Toolbars, die Kinderknoten von #navigator-toolbox sind.
Danke. Und siehst du eine Lösung? Du hast auf jeden Fall bessere JavaScript-Kenntnisse als ich.
Könnte vielleicht auch schon mit den inlineEvent Änderungen zusammenhängen...?!
Auch in Fx 134 funktionieren die Symbole schon in der unteren Leiste nicht. Da sollten Inline-Eventhandler ja noch erlaubt sein.
Auch mit deinem Skript passiert nichts nach Klick auf den Button.
Kein Problem hier, auch nicht nach dem Neustart.
Äh, ich sehe gerade, da gibt es noch zwei Inline-Eventhandler in Zeile 18 und 19 (oncommand und onmouseenter, eben für den Button. Ab 136 müssen wir ja in .addEventListener umbauen. Ich versuche mein Glück.
Ersetze mal die Zeile 18 und 19 durch folgenden Code:
//btn.setAttribute("oncommand", "owner.toggle()");
btn.addEventListener('command', event => {
if (event == 0) {
owner.toggle();
}
});
// btn.setAttribute("onmouseenter", "owner.mouseenter()");
btn.addEventListener('mouseenter', event => {
if (event == 0) {
owner.mouseenter();
}
});
Alles anzeigen
Zumindest hier funktioniert es auch nicht
Hier mein Code:
// browserkonsole.uc.js
(function() {
if (location != 'chrome://browser/content/browser.xhtml')
return;
try {
CustomizableUI.createWidget({
id: 'browser-konsole-button',
type: 'custom',
defaultArea: CustomizableUI.AREA_NAVBAR,
onBuild: function(aDocument) {
var toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton');
var props = {
id: 'browser-konsole-button',
class: 'toolbarbutton-1 chromeclass-toolbar-additional',
label: 'Konsola wobhladowaka',
tooltiptext: 'Konsolu wobhladowaka wočinić',
style: 'list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAADaSURBVHjaYvz//z8DJYAJn+SFuYy+IEyWAUCN0/iEGDaBMIhNkgFQDZlK2gwMIAxi4zIElwsyDWwRHCg7kygD8DkXmxwTVtsdeBgYmFExWAyLK5iw2sAqCMZZvbEMAcXOcD42VzBh2O5lBFQsCsbPnz9nePLkCZwPlkNzBROm7SJw/PjxY4YfP36giKG7ghGWEoGC/w2Cw4lKfRfWrmQwSP7PCHcB3ES0gNO2vsyganoWQxxZD9gFYNvDkknKAxdWzQW7gomBQsACpacDTcwkUe90lEAkFwAEGACHlFPNBrHqNAAAAABJRU5ErkJggg==)',
};
for (var p in props)
toolbaritem.setAttribute(p, props[p]);
toolbaritem.addEventListener('command', event => {
document.getElementById("menu_browserConsole").click();
});
return toolbaritem;
}
});
CustomizableUI.registerToolbarNode(tb);
} catch(e) { };
function onCommand() {
var document = event.target.ownerDocument;
if (!document.getElementById('menu_browserConsole')) {
let { require } = ChromeUtils.importESModule("resource://devtools/shared/loader/Loader.sys.mjs", {});
require("resource://devtools/client/webconsole/browser-console-manager");
};
document.getElementById('menu_browserConsole').click();
};
})();
Alles anzeigen
Natürlich in Sorbisch. Symbol ist ein gelbes Dreieck mit einem Ausrufezeichen. Das wollte wohl Boersenfeger geändert haben.
Ich hatte jedenfalls ein Script, das einen Button erzeugt hat, der nach Anklicken die Konsole gleich öffnete.
Das macht doch das Skript aus Beitrag #1. Dafür ist der base64-Code doch drin. Ich habe das übrigens hier auch und in die vertikale Add-on-Bar geschoben, wo es auch funktioniert. Ich habe das fehlerconsole.uc.js. getauft. Ich habe noch ein anderes Skript, das die Browserwerkzeuge öffnet.
Keins, das ist ja das Problem
In deinem Eingangsbeitrag hast du geschrieben, dass beide Male die Konsole geöffnet wird. Da wäre alles in Butter. Also nochmal: Beim Klick auf welches Symbol soll was geöffnet werden?
Wie auch immer es also heißt, es ändert nichts daran, dass der erzeugte Button nicht das in #20 gezeigte Fenster öffnet.
Na und welches wird denn dann geöffnet?
Wenn ich den von Haus aus mitgelieferten, Button mit dem identischen Icon aus dem Anpassen-Fenster auf meine Addon-Bar ziehe, dort dann aus dem Menü die Browser-Konsole aufrufe, diese dann wieder schließe und nun auf das Icon, das durch das Script erzeugt wird, klicke, öffnet sich auch dann die Konsole. Also irgendwas passt doch nicht.
Verstehe ich nicht. Wenn du zwei Symbole mit der gleichen Funktion öffnest, muss auch die gleiche Funktion ausgeführt werden. Das passiert hier offenbar bei dir. Was ist da das Problem. Ein Problem gäbe es, wenn beide Symbole eine identische ID hätten. Das hatte ich letztens mit about:config. Ich habe das als Einzelskript und in diesem Sammelskript. Das im Sammelskript funktionierte da nicht, bis ich die ID änderte.
Dieses Skript funktioniert nicht mehr in v136.0a1 Nightly. Es könnte mit jsm und mjs zu tun haben.
Ich denke auch.
Ersetze mal Zeile 61 durch diese:
`(${this[meth]})(ChromeUtils.importESModule("resource://gre/modules/TooltipTextProvider.sys.mjs").TooltipTextProvider.prototype)`
Und Zeile 82 durch diese:
Diese Buttons öffnen beim Klicken kein Panel und zwar dann nicht, wenn sie sich außerhalb der id=navigator-toolbox befinden, also alles außerhalb der Standard-Toolbarleisten.
So ist es wohl. Ich habe hier vier Zusatzleisten, eine oben, zwei verschiedene unten und die vertikale Leiste. Die einzige, die funktioniert, ist die obere Leiste. Dort wird die ID nav-bar eingelesen. In einer unteren Leiste (Statusleiste) wird die ID navigator-toolbox eingelesen. Da funktionieren die Symbole nicht (Download, Bibliothek). Wenn ich jedoch die ID in nav-bar ändere, funktioniert es auch in der unteren Leiste.
Obere Leiste:
/* Statusleiste oben für Firefox 65.0 + */
ChromeUtils.importESModule("resource:///modules/CustomizableUI.sys.mjs");
var tb = document.createXULElement('toolbar');
tb.id = 'fp-statusbar-2';
tb.setAttribute('customizable', true);
tb.setAttribute('mode', 'icons');
tb.setAttribute("context","toolbar-context-menu");
var parentE = document.getElementById('nav-bar').parentNode;
var childE = document.getElementById('PersonalToolbar');
parentE.insertBefore(tb, childE);
CustomizableUI.registerArea('fp-statusbar-2', { legacy: true });
CustomizableUI.registerToolbarNode(tb);
Alles anzeigen
Untere Leiste:
const { CustomizableUI } = ChromeUtils.importESModule("resource:///modules/CustomizableUI.sys.mjs");
(function() {
if (location != 'chrome://browser/content/browser.xhtml')
return;
var css =`
#statuspanel {
bottom: -26px !important;
margin-left: 60px !important;
border: none !important;
}
#statuspanel-label {
margin-left: 90px !important;
border: none !important;
background: transparent !important;
color: blue !important;
font-weight: bold !important;
}
`;
var sss = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService);
var uri = makeURI('data:text/css;charset=UTF=8,' + encodeURIComponent(css));
sss.loadAndRegisterSheet(uri, sss.AUTHOR_SHEET);
var tb = document.createXULElement('toolbar');
tb.id = 'new-toolbar1';
tb.setAttribute('customizable', true);
tb.setAttribute('mode', 'icons');
tb.setAttribute("context","toolbar-context-menu");
var vbox = document.createXULElement('vbox');
document.getElementById('navigator-toolbox').parentNode.insertBefore( vbox, null);
vbox.style.backgroundColor = '#ffe4c4';
vbox.appendChild(tb);
CustomizableUI.registerArea('new-toolbar1', { legacy: true });
CustomizableUI.registerToolbarNode(tb);
})();
Alles anzeigen
Siehe die Zeilen 11 bzw. 38.
Edit: Wenn ich jedoch in der unteren Leiste navigator-toolbox in nav-bar ändere, funktionieren zwar die Symbole, die Leiste wird aber noch oben geschoben. Hängt sicherlich auch mit parentNode zusammen.