1. Nachrichten
  2. Forum
    1. Unerledigte Themen
    2. Forenregeln
  3. Spenden
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. camp-firefox.de
  2. bege

Beiträge von bege

  • userChrome.js Scripte für den Fuchs (Diskussion)

    • bege
    • 3. Juli 2020 um 20:31

    saveto.uc.js geht nicht mehr

    Hallo,

    seit kurzem (Fx78?) geht dieses Skript bei mir nicht mehr. Wenn ich auf den "Speichern unter"-Button klicke, passiert nichts, in der Fehlerkonsole erscheint dieser Fehler:

    Uncaught TypeError: dialog.mLauncher.saveToDisk is not a function

    saveTo file:///F:/Users/bege/AppData/Roaming/Mozilla/Firefox/Profiles/487kit50.Quantum/chrome/JS/saveto.uc.js:76

    saveto.uc.js:76:34

    JavaScript: saveto.uc.js
    // ==UserScript==
    // @include       chrome://mozapps/content/downloads/unknownContentType.xhtml
    // @charset       UTF-8
    // @version       Fx73+
    // ==/UserScript==
    (function() {
    
        const Cu = Components.utils;
        if (!window.FileUtils) Cu.import('resource://gre/modules/FileUtils.jsm');
        if (!window.Services) Cu.import('resource://gre/modules/Services.jsm');
    
        setTimeout(function() {
            saveTo()
        }, 200);
    
        // style sheet
        Components.classes["@mozilla.org/content/style-sheet-service;1"].getService(Components.interfaces.nsIStyleSheetService).loadAndRegisterSheet(
          Services.io.newURI("data:text/css;charset=utf-8," + encodeURIComponent('\
              \
              .dialog-button menupopup {\
                background: #F0F0F0 !important; \
                border: 1px solid #A0A0A0 !important; \
                padding: 0 5px !important; \
              } \
              .dialog-button menupopup menuitem:hover {\
                background-color: -moz-menuhover !important; \
              } \
          '), null, null),
          Components.classes["@mozilla.org/content/style-sheet-service;1"].getService(Components.interfaces.nsIStyleSheetService).AGENT_SHEET
        );
    
        function saveTo() {
            // Config
            var dirArray = [
            ["F:\\Users\\bege\\Desktop", "Desktop"],
            ["F:\\Setups\\Dateiverwaltung\\FreeCommander", "FreeCommander"],
            ["F:\\Eigene Dateien\\PRIVAT\\Finanzen\\Girokonto GLS", "Girokonto GLS"],
            ["F:\\Eigene Dateien\\PRIVAT\\Finanzen\\Kreditkarte GLS", "Kreditkarte GLS"],
            ["F:\\Eigene Dateien\\DOWNLOADS", "Downloads"],
            ["F:\\Eigene Dateien\\DriveOnWeb", "DriveOnWeb"],
            ["F:\\Eigene Dateien\\Eigene Bilder\\Symbole", "Symbole"],
            ["F:\\Users\\bege\\AppData\\Roaming\\Mozilla\\Firefox\\icons", "Firefox\\Icons"],
            ["F:\\Setups\\Internet", "Setups\\Internet"],
            ["F:\\Setups\\Audio-Video", "Setups\\Audio-Video"],
            ["F:\\Eigene Dateien\\Eigene Bilder\\aktuelleDownloads", "Bilder"],
            ["F:\\Eigene Dateien\\Eigene Musik\\aktuelleDownloads", "Musik"],
            ["F:\\Eigene Dateien\\Eigene Videos\\aktuelleDownloads", "Videos"],
            ["" + FileUtils.getDir('UChrm', []).path + "", "chrome"],
            ["" + FileUtils.getDir('UChrm', ['CSS']).path + "", "CSS"],
            ["" + FileUtils.getDir('UChrm', ['JS']).path + "", "JS"],
            ["C:\\", "C:"],
            ["E:\\", "E:"],
            ["F:\\", "F:"],
            // ["G:\\", "G:"],
            // ["H:\\", "H:"],
            ["I:\\", "I:"],
            ["S:\\", "S:"]
            ];
            
            let button = document.getElementById("unknownContentType").getButton("cancel");
            let saveTo = button.parentNode.insertBefore(document.createXULElement("button"), button);
            var saveToMenu = saveTo.appendChild(document.createXULElement("menupopup"));
            saveTo.classList.toggle("dialog-button");
            saveTo.label = "Speichern unter";
            saveTo.type = "menu";
              saveToMenu.classList.toggle("menu-iconic");
            dirArray.forEach(function(dir) {
                var [name, dir] = [dir[1], dir[0]];
                var mi = document.createXULElement("menuitem");
                var item = saveToMenu.appendChild(mi);
                item.setAttribute("label", (name || (dir.match(/[^\\/]+$/) || [dir])[0]));
                item.setAttribute("image", "moz-icon:file:///" + dir + "\\");
                item.setAttribute("class", "menuitem-iconic");
                item.addEventListener("command", function() {
                    var file = new FileUtils.File(dir.replace(/\\/g, '\\\\') + '\\\\' + (document.getElementById('locationtext') ? document.getElementById('locationtext').value : document.getElementById('location').value));
                    dialog.mLauncher.saveToDisk(file, 1);
                    dialog.onCancel = function() {};
                    close();
                });
            });
        }
    }());
    Alles anzeigen

    Hat sich bei dem Befehl in Zeile 76 etwas geändert?

  • Symbole zu Kontextmenüs mit Javascript und CSS hinzufügen

    • bege
    • 2. Juli 2020 um 16:47

    bananovic  Endor

    Ich habe die IDs zugefügt, so funktioniert Endors Code bei mir auch in Thunderbird.

    (Achtung, die URLs sind geändert!)

    CSS
    /* Firefox Quantum Symbole für Add-ons-Manager von Endor ************************************************/
    /* Angepasst für Thunderbird von bege */
    /* https://www.camp-firefox.de/forum/thema/129954-symbole-zu-kontextmen%C3%BCs-mit-javascript-und-css-hinzuf%C3%BCgen/?postID=1137566#post1137566/
    /****************************************************************************************/
    
    
    @-moz-document url-prefix(chrome://mozapps/content/extensions/extensions.xul), url-prefix(about:addons),url-prefix(chrome://mozapps/content/extensions/aboutaddons.html) {
    
    
    #page-options > panel-list:nth-child(1) > panel-item:nth-child(1)::before, #utils-updateNow::before {
    content: '';
    display: block;
    width: 16px;
    height: 16px;
    background-image: url('../../../../icons/Bild5.png');
    margin-left: 5px;
    margin-right: -21px;}
    
    #page-options > panel-list:nth-child(1) > panel-item:nth-child(2)::before, #utils-viewUpdates::before {
    content: '';
    display: block;
    width: 16px;
    height: 16px;
    background-image: url('../../../../icons/Bild61.png');
    margin-left: 5px;
    margin-right: -21px;}
    
    #page-options > panel-list:nth-child(1) > panel-item:nth-child(4)::before, #utils-installFromFile::before {
    content: '';
    display: block;
    width: 16px;
    height: 16px;
    background-image: url('../../../../icons/Bild3.png');
    margin-left: 5px;
    margin-right: -21px;}
    
    #page-options > panel-list:nth-child(1) > panel-item:nth-child(5)::before, #utils-debugAddons::before {
    content: '';
    display: block;
    width: 16px;
    height: 16px;
    background-image: url('../../../../icons/Bild66.ico');
    margin-left: 5px;
    margin-right: -21px;}
    
    
    #page-options > panel-list:nth-child(1) > panel-item:nth-child(7), #utils-autoUpdateDefault {
    fill: transparent !important;}
    
    #page-options > panel-list:nth-child(1) > panel-item:nth-child(7)::before, #utils-autoUpdateDefault::before {
    content: '';
    display: block;
    width: 16px;
    height: 16px;
    background: url('../../../../icons/check.png') no-repeat !important;
    margin-left: 5px;
    margin-right: -21px !important;}
    
    #page-options > panel-list:nth-child(1) > panel-item:nth-child(7):not([checked])::before, #utils-autoUpdateDefault[checked="false"]::before {
    content: '';
    /* content: 'Nicht die';
    font-size: 14px;
    padding-left: 22px !important;
    padding-right: 35px !important;
    padding-top: 1px !important;
    padding-bottom: 6px !important;
     */
    display: block;
    width: 16px;
    height: 16px;
    background: url('../../../../icons/Bild63.png') no-repeat !important;
    margin-left: 5px;
    margin-right: -21px;}
    
    
    #page-options > panel-list:nth-child(1) > panel-item:nth-child(8)::before, #utils-resetAddonUpdatesToAutomatic::before {
    content: '';
    display: block;
    width: 16px;
    height: 16px;
    background-image: url('../../../../icons/Bild64.png');
    margin-left: 5px;
    margin-right: -21px;}
    
    #page-options > panel-list:nth-child(1) > panel-item:nth-child(10)::before, #manage-shortcuts::before {
    content: '';
    display: block;
    width: 16px;
    height: 16px;
    background-image: url('../../../../icons/Bild67.png');
    margin-left: 5px;
    margin-right: -21px;}
    Alles anzeigen
  • Hoher Speicherverbrauch seit Fx 77?

    • bege
    • 30. Juni 2020 um 20:06
    Zitat von .DeJaVu

    Und wenn andere das Problem hätten und es wäre ein Firefox-Fehler, dann wäre das Forum schon voll mit solchen Anfragen.

    Das sehe ich auch so. Deshalb ist meine eigentliche Frage damit auch beantwortet. Liegt also irgendwo am Profil.

    Danke für eure Bereitschaft zu helfen.

  • Hoher Speicherverbrauch seit Fx 77?

    • bege
    • 25. Juni 2020 um 18:11
    Zitat von Boersenfeger

    Bitte sei so gut und poste deine Erweiterungen und ggf. die benutzte Sicherheitssoftware.. dann könnte man vielleicht was sagen, so aber sicher nicht!!

    Starte als Kurzangriff Firefox im Safe-Mode mit gedrückter UMSCHALT-Taste und schaue auf den Verbrauch. Wenn sich daran nichts ändert, ist Firefox nicht schuld, suche dann im System nach Verbraucher...

    Hallo Boersenfeger,

    danke für deine Antwort.

    Der Fx verbraucht hier bei 4-5 Tabs bis zu 1,5 GB RAM, dafür habe ich vor einiger Zeit ca. 20 Tabs benötigt. Es geht also nicht um einen hohen Gesamt-Speicherverbrauch auf dem System.

    Wie schon gesagt habe ich gerade keine Zeit, mit dem Profil zu testen, deshalb meine Frage. Hätte ja sein können, dass andere das auch erleben. Da niemand meine Erfahrung bestätigt, vermute ich, dass es am Profil liegt.

  • Hoher Speicherverbrauch seit Fx 77?

    • bege
    • 22. Juni 2020 um 22:41

    Hallo,

    seit einiger Zeit stelle ich beim Fx einen höheren Speicherverbrauch fest. Das ist ungefähr seit dem Update auf 77, kann aber natürlich auch mit jedem Update einer der vielen Erweiterungen zusammenhängen, die ich installiert habe. Da ich z.Zt. nicht die Zeit habe, mit Profilen und Erweiterungen zu testen, hier erstmal die Frage, ob noch jemand diese Erfahrung gemacht und vielleicht schon eine Ursache dafür gefunden hat.

  • userChrome.js Scripte für den Fuchs (Diskussion)

    • bege
    • 21. Februar 2020 um 13:57

    So, jetzt läuft's bei mir. Danke an milupo und Endor . Das Skript von Endor ist eine Kombination aus dem alten und dem neuen Skript, bei den Profil-Ordnern ist es der alte Code. Ich habe es nicht probiert, kann mir aber nicht vorstellen, dass es funktioniert, weil es die Funktion "getPrefDirPath" im neuen Skript gar nicht mehr gibt.

    Ein Abschnitt des Codes sieht bei mir so aus:

    JavaScript
            ["F:\\Eigene Dateien\\Eigene Bilder\\aktuelleDownloads", "Bilder"],
            ["F:\\Eigene Dateien\\Eigene Musik\\aktuelleDownloads", "Musik"],
            ["F:\\Eigene Dateien\\Eigene Videos\\aktuelleDownloads", "Videos"],
            ["" + FileUtils.getDir('UChrm', []).path + "", "chrome"],
            ["" + FileUtils.getDir('UChrm', ['CSS']).path + "", "CSS"],
            ["" + FileUtils.getDir('UChrm', ['JS']).path + "", "JS"],
            ["C:\\", "C:"],
            ["E:\\", "E:"],
            ["F:\\", "F:"],
            ["G:\\", "G:"],
            ["H:\\", "H:"],
            ["I:\\", "I:"],
            ["S:\\", "S:"]
            ];
            
            let button = document.getElementById("unknownContentType").getButton("cancel");
            let saveTo = button.parentNode.insertBefore(document.createXULElement("button"), button);
            var saveToMenu = saveTo.appendChild(document.createXULElement("menupopup"));
            saveTo.classList.toggle("dialog-button");
            saveTo.label = "Speichern unter";
    Alles anzeigen

    CSS und JS sind Unterordner des chrome-Ordners.

    Wie schon erwähnt, muss noch "save to" übersetzt werden, hier in der letzten Zeile.

  • userChrome.js Scripte für den Fuchs (Diskussion)

    • bege
    • 21. Februar 2020 um 11:49

    Seit noch nicht allzu langer Zeit (da ich es nicht dauernd nutze, weiß ich nicht, mit welchem Update das losging) geht beim Fx 73.0.1 das Skript saveto.uc.js nicht mehr. Es soll im Download-Dialog eine Liste mir voreingestellten Zielen für den Download zur Auswahl anbieten. Diese Liste kommt nicht mehr. Ich habe gesehen, dass auch der Download-Dialog jetzt die Endung xhtml hat. Obwohl ich das geändert habe, funktioniert das Skript aber trotzdem nicht.

    Weiß jemand, woran es liegt?

    JavaScript
    // ==UserScript==
    // @include       chrome://mozapps/content/downloads/unknownContentType.xhtml
    // @charset       UTF-8
    // ==/UserScript==
    
    if (location == "chrome://mozapps/content/downloads/unknownContentType.xhtml") {
    (function () {
    
        function getQuery(str) {
            return document.querySelector(str);
        }
    
        function getPrefDirPath(str) {
            Components.utils.import("resource://gre/modules/Services.jsm");
            var prefDir = Services.dirsvc.get(str, Ci.nsIFile).path;
            return prefDir;
        }
    
        var dir = [
            ["" + getPrefDirPath('UChrm') + "", "chrome"],
            ["" + getPrefDirPath('UChrm') + "\\" + 'JS' + "", "chrome\\JS"],
            ["" + getPrefDirPath('UChrm') + "\\" + 'CSS' + "", "chrome\\CSS"],
            ["C:\\", "C:"],
            ["E:\\", "E:"],
            ["F:\\", "F:"],
            ["G:\\", "G:"],
            ["H:\\", "H:"],
            ["I:\\", "I:"],
            ["S:\\", "S:"]
        ];
    
        var button = document.documentElement.getButton("cancel");
        var saveTo =  button.parentNode.insertBefore(document.createXULElement("button"), button);
        var saveToMenu = saveTo.appendChild(document.createXULElement("menupopup"));
        saveTo.className = "dialog-button";
        saveTo.label = "Speichern auf";
        saveTo.type = "menu";
        dir.map(function (dir) {
            var converter = Cc["@mozilla.org/intl/scriptableunicodeconverter"].createInstance(Ci.nsIScriptableUnicodeConverter);
            converter.charset = "UTF-8";
            var name = converter.ConvertToUnicode(dir[1]);
            dir = converter.ConvertToUnicode(dir[0]);
            var item = saveToMenu.appendChild(document.createXULElement("menuitem"));
            item.setAttribute("label", (name||(dir.match(/[^\\/]+$/) || [dir])[0]));
            item.setAttribute("image", "moz-icon:file:///" + dir + "\\");
            item.setAttribute("class", "menuitem-iconic");
            item.setAttribute("oncommand", 'var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsIFile); file.initWithPath("' + dir.replace(/\\/g, "\\\\") + "\\\\" + (getQuery("#locationtext") ? getQuery("#locationtext").value : getQuery("#location").value) + '"); dialog.mLauncher.saveToDisk(file,1); dialog.onCancel = function() {}; close();');
        });
    
    })();
    }
    Alles anzeigen
  • Symbole zu Kontextmenüs mit Javascript und CSS hinzufügen

    • bege
    • 21. Februar 2020 um 02:06
    Zitat von aborix

    Die Symbole im Untermenü Web-Entwickler anzeigen zu lassen, ist anscheinend mit einem einfacheren Code als dem aus #36 möglich.

    Bitte teste:

    JavaScript
    setTimeout(() => {
      let { require } = ChromeUtils.import('resource://devtools/shared/Loader.jsm', {});
      require('resource://devtools/client/framework/devtools-browser');
    }, 0);

    Funktioniert :thumbup: Dankeschön :)

  • userChrome.js Scripte für den Fuchs (Diskussion)

    • bege
    • 19. Februar 2020 um 19:48
    Zitat von aborix
    Zitat von bege
    JavaScript
            key.setAttribute('oncommand', 'document.getElementById("AMPopup").openPopup();');

    Nicht "AMPopup", sondern "AMpopup".

    :thumbup::D:!::!::!:

  • userChrome.js Scripte für den Fuchs (Diskussion)

    • bege
    • 19. Februar 2020 um 17:31
    Zitat von Büssen
    ...

    Alle Einträge im Appmenu.uc.js funktionieren - außer "Browser-Wekzeuge".

    Die kann ich aber immer noch (wenn gebraucht) mit Strg+Umschalt+I aufrufen.

    Wie ich bereits angemerkt habe: mit diesem kleinen Manko kann ich leben! :)

    Mit Strg+Umschalt+I öffnen sich die Webentwickler-Werkzeuge, die für Inhaltsseiten sind.

    Die Browser-Werkzeuge, mit denen die Browseroberfläche untersucht werden kann, öffnen sich mit Strg+Alt+Umschalt+I

  • userChrome.js Scripte für den Fuchs (Diskussion)

    • bege
    • 19. Februar 2020 um 17:18
    Zitat von 2002Andreas
    Zitat von bege

    in dieses Thema zu verschieben?

    Hallo bege ...

    ich war eine Weile offline, darum erst jetzt meine Antwort.

    Ich kann das zwar alles teilen bzw. verschieben, aber dann ist einges auch aus dem Kontext wie man so sagt.

    Und nach dem Beitrag den du oben vorschlägst, gab es ja auch noch Beiträge von dir.

    Ja klar, mir geht's auch nicht darum, wer geschrieben hat, sondern nur, dass im Diskussions-Thema alles zu den Skripten beieinander wäre. Bei den Beiträgen #55-#58 ist der Kontext tatsächlich nicht ganz eindeutig. Danach geht's eindeutig nur noch um die Skripte browsertoolbox.uc.js und AppMenu.uc.js. Die Entscheidung, ob und wie die Beiträge kopiert/verschoben werden, liegt bei dir als Moderator. Ist nur eine Frage bzw. Anregung von mir.

  • userChrome.js Scripte für den Fuchs (Diskussion)

    • bege
    • 19. Februar 2020 um 17:03
    Zitat von aborix

    Bei oncommand soll stehen:

    document.getElementById("AMPopup").openPopup();

    Der Rest stimmt.

    Der Code kann in einer eigenen function stehen, in diesem Fall hänge ihn am Ende des Skripts an.

    Der Code kann auch ohne function bleiben und dann füge ihn nach diesen Zeilen (die Zeilennummern stimmen vielleicht nicht genau) ein:

    JavaScript
            ExternalAppBtn.appendChild(ExternalAppPopup);
            Appmenu.onpopupshowing();

    Da lag ich ja fast richtig. Sieht jetzt so aus (mit den Zeilen davor und danach):

    JavaScript
            ExternalAppBtn.appendChild(ExternalAppPopup);
            Appmenu.onpopupshowing();
            
              // Menü mit Tastaturkürzel öffnen
            let key = document.createXULElement('key');
            key.id = 'key_AppMenuPopup';
            key.setAttribute('key', 'A');
            key.setAttribute('modifiers', 'alt');
            key.setAttribute('oncommand', 'document.getElementById("AMPopup").openPopup();');
            document.getElementById('mainKeyset').appendChild(key);
        },
    
        onpopupshowing: function() {
            if (this._isready)
    Alles anzeigen

    Aber obwohl der key im keyset zu finden ist, passiert immer noch nichts, wenn ich Alt+A drücke. In dem Moment erscheint in der Konsole dieser Eintrag:

    16:48:21.654 TypeError: document.getElementById(...) is null                      browser.xhtml:1:10                                               oncommand chrome://browser/content/browser.xhtml:1

    16:48:23.390 Error: Invalid window ID: -1                                                    ExtensionUtils.jsm

  • userChrome.js Scripte für den Fuchs (Diskussion)

    • bege
    • 18. Februar 2020 um 20:07

    2002Andreas Dieses Thema hat sich für mich zu einer wahren Schatzkiste entwickelt. Da eine Frage die nächste ergeben hat, sind wir ab RE: Symbole zu Kontextmenüs mit Javascript und CSS hinzufügen vom eigentlichen Thema weg hin zu einer Diskussion über Userskripte gekommen, die wir sonst im Thema userChrome.js Scripte für den Fuchs (Diskussion) behandeln.

    Wäre es, damit die hilfreichen Beiträge hier nicht verloren gehen, sinnvoll, die Beiträge ab dem o.g. in dieses Thema zu verschieben?

  • userChrome.js Scripte für den Fuchs (Diskussion)

    • bege
    • 18. Februar 2020 um 19:42
    Zitat von aborix

    bege :

    Falls du es selbst versuchen willst, dieser Beitrag kann als Vorlage dienen.

    Außerdem eine Dokumentation: MDN - key, und sieh dir im Inspektor die keys in den keysets an.

    Danke für dein Zutrauen :/

    Ich habe aufs Geratewohl diesen Code ans Ende der init: function gehängt. Ich habe eine Tastenkombination gewählt, die in einem anderen Skript funktioniert (und dieses Skript deaktiviert). Immerhin wirft die Browser-Konsole keinen Fehler aus, aber es passiert auch nichts.

    JavaScript
              let key = document.createXULElement('key');
              key.id = 'key_AppMenuPopup';
              key.setAttribute('key', 'A');
              key.setAttribute('modifiers', 'alt');
              key.setAttribute('oncommand', 'Appmenu.onpopupshowing();');
              document.getElementById('mainKeyset').appendChild(key);

    Wohin muss der Code? Muss das eine eigene komplette function sein?

    Ist der Eintrag für oncommand richtig?

  • userChrome.js Scripte für den Fuchs (Diskussion)

    • bege
    • 18. Februar 2020 um 19:13
    Zitat von Büssen

    milupo,

    in meinem Fall - s.a. auch meinen 1. Einwurf im #67 hatte ich nur die Änderung für mein Appmenu.uc.js eingebaut.

    Es rührte/n sich die Browser-Konsole u. auch Browser-Werkzeuge nicht.

    Mit Hilfe von Endor bekam ich die Konsole zum Laufen - die Werkzeuge streikten.

    Auch mit der neuesten Version von Endor klappt es nur mit der Konsole, aber nicht mit den Werkzeugen.

    Ich kann damit leben :)

    Alles anzeigen

    Funktionieren die Browser-Werkzeuge denn, wenn du sie aus dem normalen Browser-eigenen Extras-Untermenü aufrufst?

  • userChrome.js Scripte für den Fuchs (Diskussion)

    • bege
    • 18. Februar 2020 um 17:58
    Zitat von Endor

    Hallo aborix .

    Danke für die beiden Script Teile, funktionieren beide bestens.

    :klasse:

    bege

    Mein Script zum Öffnen der Browserwerkzeuge kannst Du weglassen.

    Einfach im Script Appmenu.uc.js welches Du ja verwendest

    diesen Abschnitt einfügen, ambesten gleich nach dem Eintrag für Browser-Konsole:

    JavaScript
                {
                    name: 'Browser-Werkzeuge',
                    subdir: 'Firefox Funktionen',
                    image:'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAdUlEQVQokZVSwRHAIAgLPYfoXs7RCTpG53Avt7APrhaFU8gLMEEJAkEQgFbc7IxkVjt0r6Sp7VIVITumBpKt00FA2ThmjXzkfMMWO8EZFSj8LrUyjsG9b9DaJXq+qAIVxEUxtLHpaXE95dj1NcK2rmbwaGJ4Af0tIg00j/6iAAAAAElFTkSuQmCC',
                    command: "var { require } = ChromeUtils.import('resource://devtools/shared/Loader.jsm', {});\
                              var { BrowserToolboxLauncher } = require('resource://devtools/client/framework/browser-toolbox/Launcher.jsm');\
                              BrowserToolboxLauncher.init();",
                },

    Nach dem Einfügen und neu Starten von Firefox mit Scriptcache leeren,

    hast Du in Appmenu der Appmenuschaltfläche unter Firefox Funktionen dann
    den Eintrag zum Öffnen der Browserwerkzeuge.

    Mfg.
    Endor

    Alles anzeigen

    Nach ein paar Tagen zurück am Computer ist dieses Thema ist voller Geschenke. Vielen Dank dafür, aborix , Endor , milupo .

    Weil ich, wenn ich viel am Fx bastele, gern auch noch den Toolbarbutton von Endor haben will (erspart das Öffnen des AppMenu), habe ich aborix' Code eingebaut, so dass es jetzt so aussieht und auch bei mir funktioniert, egal wohin ich das Webentwickler-Menü verschoben habe.

    JavaScript
    //  browsertoolbox.uc.js
    
    (function() {
    
        if (location != 'chrome://browser/content/browser.xhtml')
            return;
    
        try {
            CustomizableUI.createWidget({
                id: 'browser-toolbox-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-toolbox-button',
                        class: 'toolbarbutton-1 chromeclass-toolbar-additional',
                        label: 'Browser-Werkzeuge',
                        tooltiptext: 'Browser-Werkzeuge',
                        style: 'list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAdUlEQVQokZVSwRHAIAgLPYfoXs7RCTpG53Avt7APrhaFU8gLMEEJAkEQgFbc7IxkVjt0r6Sp7VIVITumBpKt00FA2ThmjXzkfMMWO8EZFSj8LrUyjsG9b9DaJXq+qAIVxEUxtLHpaXE95dj1NcK2rmbwaGJ4Af0tIg00j/6iAAAAAElFTkSuQmCC)',
                        oncommand: '(' + onCommand.toString() + ')()'
                    };
                    for (var p in props)
                        toolbaritem.setAttribute(p, props[p]);
                    return toolbaritem;
                }
            });
            CustomizableUI.registerToolbarNode(tb);
           } catch(e) { };  
    
        function onCommand() {
             var { require } = ChromeUtils.import('resource://devtools/shared/Loader.jsm', {});
                var { BrowserToolboxLauncher } = require('resource://devtools/client/framework/browser-toolbox/Launcher.jsm');
                BrowserToolboxLauncher.init();
        };
    
    })();
    Alles anzeigen

    Um das Skript zu perfektionieren, würde ich gern noch den zweiten Codeschnipsel von aborix einbauen, um mit einem Mittelklick die Browser-Konsole zu öffnen. Das kriege ich trotz mehrere Versuche nicht hin. Kann mir jemand helfen?

  • userChrome.js Scripte für den Fuchs (Diskussion)

    • bege
    • 14. Februar 2020 um 23:46

    Daran habe ich gar nicht gedacht. Aber da wird ein schon im Fx vorhandener Shortcut ausgeführt, im AppMenu ist noch gar keiner definiert. Mit dem Hinweis auf aborix hast du bestimmt recht :)

  • userChrome.js Scripte für den Fuchs (Diskussion)

    • bege
    • 14. Februar 2020 um 23:17

    Hallo, ich hab schon wieder eine Baustelle.

    (Wie) ist es möglich, für das Firefox-Menü von AppMenu.uc.js https://github.com/Endor8/userChr…8/appmenu.uc.js einen Tastatur-Shortcut anzulegen, mit dem man das Menü öffnen kann, ohne mit der Maus drauf zu klicken?

  • Symbole zu Kontextmenüs mit Javascript und CSS hinzufügen

    • bege
    • 14. Februar 2020 um 22:16
    Zitat von Endor

    So hier das Script:

    JavaScript
    //  browsertoolbox.uc.js
    
    (function() {
    
        if (location != 'chrome://browser/content/browser.xhtml')
            return;
    
        try {
            CustomizableUI.createWidget({
                id: 'browser-toolbox-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-toolbox-button',
                        class: 'toolbarbutton-1 chromeclass-toolbar-additional',
                        label: 'Browser-Werkzeuge',
                        tooltiptext: 'Browser-Werkzeuge',
                        style: 'list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAdUlEQVQokZVSwRHAIAgLPYfoXs7RCTpG53Avt7APrhaFU8gLMEEJAkEQgFbc7IxkVjt0r6Sp7VIVITumBpKt00FA2ThmjXzkfMMWO8EZFSj8LrUyjsG9b9DaJXq+qAIVxEUxtLHpaXE95dj1NcK2rmbwaGJ4Af0tIg00j/6iAAAAAElFTkSuQmCC)',
                        oncommand: '(' + onCommand.toString() + ')()'
                    };
                    for (var p in props)
                        toolbaritem.setAttribute(p, props[p]);
                    return toolbaritem;
                }
            });
            CustomizableUI.registerToolbarNode(tb);
           } catch(e) { };  
    
        function onCommand() {
            var document = event.target.ownerDocument;
            if (!document.getElementById('menu_browserToolbox')) {
                let { require } = Cu.import("resource://devtools/shared/Loader.jsm", {});
                require("devtools/client/framework/devtools-browser");
            };
            document.getElementById('menu_browserToolbox').click();
        };
    
    })();
    Alles anzeigen

    Mfg.
    Endor

    Zitat von milupo

    Du kannst dich zur Not mit einer Hand durchhangeln: Drücke Alt+X, das Menü Extras öffnet sich. Das X ist gleich über der Alt-Taste. Dann w - Web-Entwickler öffnet sich und schließlich u - die Browser-Werkezuge öffnen sich.

    Danke euch beiden, leider funktioniert hier beides nicht. Das liegt daran, dass ich sowohl fast alle Menüs und auch das Web-Entwickler-Menü per Skript in das App-Menü verschoben habe, das mit AppMenu.uc.js erstellt wird. Wenn die Menüs an ihrem normalen Platz sind, funktioniert beides.

    Dass deshalb das Öffnen der Menüs über die Menü-Buchstaben nicht mehr geht, kann ich noch nachvollziehen, warum aber der Button die Browser-Werkzeuge nicht mehr öffnet, nicht. Der Befehl "document.getElementById('menu_browserToolbox').click();" müsste ja trotzdem gehen, weil der Menüeintrag diese ID behalten hat. Über diese ID füge ich dem Eintrag ja auch per CSS ein Symbol hinzu.

    Kann man da was mit dem Attribut "key = key_browserToolbox" was machen?

    Weiß jemand Rat?

  • Symbole zu Kontextmenüs mit Javascript und CSS hinzufügen

    • bege
    • 14. Februar 2020 um 21:20
    Zitat von aborix

    Bei mir steht das immer auf false und ich muss trotzdem öfters den Ordner löschen; mir kommt auch vor, bei Fx 73 öfter als bei den vorherigen Versionen.

    Zur Fingerverrenkung: Geht das überhaupt mit nur einer Hand? Ich schaffe das nicht. Ich nehme meistens den Menüeintrag.

    Ob das bei Fx73 öfter ist, weiß ich nicht, ich war die letzten Tage viel damit beschäftigt, deshalb kam es recht oft vor, aber auch bei mir ist das leider schon lange so.

    Fingerverrenkung: Nee, mit einer Hand geht das nicht, das I ist zu weit weg für die linke Hand. Aber schon Alt+Strg+Shift mit einer Hand braucht Übung. Wenn ich eh mit den Händen an der Tastatur bin, geht's schnell, aber die Schaltfläche als Ergänzung ist schon besser.

Unterstütze uns!

Jährlich (2025)

104,5 %

104,5% (679,10 von 650 EUR)

Jetzt spenden
  1. Kontakt
  2. Datenschutz
  3. Impressum
Community-Software: WoltLab Suite™
Mastodon