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. BarbaraZ-

Beiträge von BarbaraZ-

  • Fehler im extra_config_menu

    • BarbaraZ-
    • 11. September 2019 um 16:30
    Code
    var uProfMenu = {
      // Beginn der Konfiguration
      // In der folgenden Zeile (11) den Pfad zum Texteditor eintragen (unter Ubuntu 10.04 z.B.: '/usr/bin/gedit'). Bei Fehleintrag wird view_source.editor.path ausgelesen:
      TextOpenExe: 'E:\\Programme\\Notepad++\\notepad++.exe',
      // Falls gewuenscht, in Zeile 15 einen Dateimanager eintragen (komplett leer lassen fuer Dateimanager des Systems) Beispiele:
      // vFileManager: 'C:\\TotalCommander\\Totalcmd64.exe',
      vFileManager: 'C:\\TotalCommander\\Totalcmd64.exe',

    Sieht jetz so aus und er ruft gar keinen FileManager mehr auf. :/

  • Fehler im extra_config_menu

    • BarbaraZ-
    • 11. September 2019 um 16:22

    Danke für den Hinweis

  • Fehler im extra_config_menu

    • BarbaraZ-
    • 11. September 2019 um 16:13
    Code
    // ==UserScript==
    // @name           extras_config_menu.uc.js
    // @compatibility  Firefox 8.*, 9.*, 10.*, 11.*, 12.*, 13.*, 14.*, 15.*, 16.*, 17.*, 57.*
    // @include        main
    // @version        1.0.20180113
    // ==/UserScript==
    
    var uProfMenu = {
      // Beginn der Konfiguration
      // In der folgenden Zeile (11) den Pfad zum Texteditor eintragen (unter Ubuntu 10.04 z.B.: '/usr/bin/gedit'). Bei Fehleintrag wird view_source.editor.path ausgelesen:
      TextOpenExe : 'E:\\Programme\\Notepad++\\notepad++.exe',
      // Falls gewuenscht, in Zeile 15 einen Dateimanager eintragen (komplett leer lassen fuer Dateimanager des Systems) Beispiele:
      // vFileManager: 'C:\\TotalCommander\\Totalcmd64.exe',
       vFileManager: '',
      // In der folgenden Zeile (19) 'menu' eintragen, damit es unter "Extras" als Menue erscheint, sonst die id des gewuenschten
      // Elements *nach* dem der Button erscheinen soll (z.B. 'urlbar', 'searchbar', 'undoclosetab-button','abp-toolbarbutton')
      // Bitte nicht so etwas wie die Menue- oder Navigationsleiste (sondern einen Menuepunkt oder einen Button mit id auf diesen Leisten) eintragen:
      warpmenuto: 'urlbar',
     // Unter Linux sollte/kann versucht werden, die userChromeJS-Skripte zu sortieren, unter Windows ist das evtl. nicht noetig (die Sortierung wird Gross- und Kleinschreibung *nicht* beruecksichtigen - dazu wird die sort()-Funktion entsprechend mit einer Vergleichsfunktion aufgerufen)
      sortScripts: 0,   // 1 zum Erzwingen der Sortierung
      // Einbindung GM-Skripte-Ordner (0: nein, 1: Greasemonkey [Profil-Verzeichnis], 2: UserScriptLoader [Chrome-Verzeichnis], 3: Scriptish [Profil-Verzeichnis]):
      gmOrdner: 0,
      // Einbindung CSS-Ordner (0: nein, 1: UserCSSLoader-Ordner im Chrome-Verzeichnis):
      cssOrdner: 1,
      CSSWebOrdner: 1,
      CSSForumOrdner: 1,
    Alles anzeigen

    In Zeile 13 Habe ich den TotalCommander als vFileManager eingesetzt, der in Zeile 14 aufgerufen werden soll.

    Es wird aber immer der Windows-Editor geöffnet. Was ist falsch im Script?

  • Meldungen über Spam im Forum

    • BarbaraZ-
    • 9. September 2019 um 07:18

    Und der nächste:

    Wie kann ich die BESCHREIBUNG eines (gelöschten) Lesezeichens wiederherstellen?

  • Download-Datei konnte nicht gespeichert werden, weil Quelldatei nicht gelesen werden konnte

    • BarbaraZ-
    • 8. September 2019 um 20:10

    Sehe ich auch so.

  • Download-Datei konnte nicht gespeichert werden, weil Quelldatei nicht gelesen werden konnte

    • BarbaraZ-
    • 8. September 2019 um 20:06

    Sicherlich meinst Du diesen Effekt:

    Da ich den pdf-xchange-viewer nutze, passiert es hier auch.

    Ich schließe daraus, das in den Quelldateien ein Fehler vorliegt.

  • Fehler im extra_config_menu

    • BarbaraZ-
    • 6. September 2019 um 18:47

    Herzlichen Dank,

    wie immer, perfekt :thumbup:

    Was machen wir nur ohne Euch?

  • Fehler im extra_config_menu

    • BarbaraZ-
    • 6. September 2019 um 18:21

    Ausgebessert, Danke.

    Leider muss noch ein anderer Fehler vorhanden sein.

  • Fehler im extra_config_menu

    • BarbaraZ-
    • 6. September 2019 um 06:00

    Moin,

    ich habe versucht, in Zeile 64 ein eigenes Icon einzubinden. Dabei ist irgend etwas unrund.

    CSS
    // ==UserScript==
    // @name           extras_config_menu.uc.js
    // @compatibility  Firefox *.*
    // @include        main
    // @version        1.0.20180113
    // ==/UserScript==
    
    var uProfMenu = {
      // Beginn der Konfiguration
      // In der folgenden Zeile (11) den Pfad zum Texteditor eintragen. Bei Fehleintrag wird view_source.editor.path ausgelesen:
      TextOpenExe : 'E:\\Programme\\Notepad++\\notepad++.exe',
      // Falls gewuenscht, in Zeile 15 einen Dateimanager eintragen (komplett leer lassen fuer Dateimanager des Systems) 
      vFileManager: 'C:\\Total Commander\\Totalcmd64.exe',
      // In der folgenden Zeile (19) 'menu' eintragen, damit es unter "Extras" als Menue erscheint, sonst die id des gewuenschten
      // Elements *nach* dem der Button erscheinen soll (z.B. 'urlbar', 'searchbar', 'undoclosetab-button','abp-toolbarbutton')
      // Bitte nicht so etwas wie die Menue- oder Navigationsleiste (sondern einen Menuepunkt oder einen Button mit id auf diesen Leisten) eintragen:
      warpmenuto: 'urlbar',
     // Unter Windows ist evtl. die Sortierung der userChromeJS-Skripte nicht noetig (die Sortierung wird Gross- und Kleinschreibung *nicht* beruecksichtigen - dazu wird die sort()-Funktion entsprechend mit einer Vergleichsfunktion aufgerufen)
      sortScripts: 0,   // 1 zum Erzwingen der Sortierung
      // Einbindung CSS-Ordner, CSSWeb-Ordner und CSSForum-Ordner (0: nein, 1: UserCSSLoader-Ordner im Chrome-Verzeichnis):
      cssOrdner: 1,
      cssWebOrdner: 1,
      cssForumOrdner: 1,
      // Die normalen Firefox-Einstellungen auch zur Verfuegung stellen (0: nein, 1: ja):
      showNormalPrefs: 0,
      // Stellt "Skriptliste in Zwischenablage" zur Verfuegung (1: ja, 2: mit getrennter Nummerierung, 3: mit gemeinsamer Nummerierung) oder nicht (0):
      enableScriptsToClip: 1,
      // Um den Eintrag "Neustart" zu erzwingen (falls z.B. das andere Skript zu spaet eingebunden und nicht erkannt wird), auf 1 setzen:
      enableRestart: 0,
      // Ende der Konfiguration
    
      init: function() {
        if (this.warpmenuto.toLowerCase() == 'menu') {
          // aufgrund des gewaehlten warpmenuto als Untermenue von Extras anlegen
          var zielmenu = document.getElementById('menu_ToolsPopup');
          if (zielmenu==null) {
            userChrome.log("extras_config_menu.uc.js findet Zielmenue nicht, evtl. weil ein anderes Fenster als das Hauptfenster " +
                           "geoeffnet wurde. Falls dieser Fehler auch im Hauptfenster auftritt, bitte die vorgehende Definition " +
                           "von 'zielmenu' kontrollieren.");
            return;
          }
          var menu = zielmenu.appendChild(this.createME("menu","Config Men\u00FC",0,0,"ExtraConfigMenu"));
          menu.setAttribute("class","menu-iconic");
          menu.setAttribute("ondblclick","openTrustedLinkIn('about:config', 'tab');");
         } else {
          // als Button nach dem per warpmenuto gewaehlten Element anlegen (s. Kommentar ueber warpmenuto im Konfigurationsabschnitt)
          var zielmenu = document.getElementById(this.warpmenuto);
          if (zielmenu==null) {
            userChrome.log("extras_config_menu.uc.js findet Zielpunkt '"+this.warpmenuto+"' nicht, evtl. weil ein anderes Fenster als das Hauptfenster " +
                           "geoeffnet wurde. Falls dieser Fehler auch im Hauptfenster auftritt, bitte die vorgehende Definition " +
                           "von 'warpmenuto' kontrollieren.");
            return;
          }
          var menu = zielmenu.parentNode.insertBefore(document.createXULElement('toolbarbutton'), zielmenu.nextSibling);
          menu.setAttribute("id", "ExtraConfigMenu-button");
          menu.setAttribute("class", "toolbarbutton-1");
          menu.setAttribute("type", "menu");
          menu.setAttribute("tooltiptext", "Extra Config Menü\nMittelklick \öffnet about:config");
          menu.setAttribute("onclick", "if (event.button === 1 && !this.open) openTrustedLinkIn('about:config', 'tab');");
        }
        //ab hier ist alles gleich, egal ob Button oder Menue
        var css = " \
          #ExtraConfigMenu, #ExtraConfigMenu-button { \
            background: url("file:///H:/Icons/stift.png")no-repeat !important; \
          } \
          #ExtraConfigMenu-button > dropmarker, #ExtraConfigMenu-button > hbox > .toolbarbutton-menu-dropmarker { \
            display: none !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.AGENT_SHEET);
        menu.setAttribute("onpopupshowing","uProfMenu.getScripts(0)");
        var menupopup = menu.appendChild(this.createME("menupopup",0,0,0,"ExtraConfigMenu-popup"));
        // menupopup.appendChild(this.createME("menuitem","userChrome.js","uProfMenu.edit(0,'userChrome.js');","uProfMenu_edit",0));
        // Anlegen von Untermenues fuer die userChromeJS-Skripte (befuellt werden sie spaeter)
        var submenu=menupopup.appendChild(this.createME("menu","uc.js",0,0,"submenu-ucjs"));
        var submenupopup = submenu.appendChild(this.createME("menupopup",0,0,0,"submenu-ucjs-items"));
        //var submenu=menupopup.appendChild(this.createME("menu","uc.xul",0,0,"submenu-ucxul"));
        var submenupopup = submenu.appendChild(this.createME("menupopup",0,0,0,"submenu-ucxul-items"));
        if (this.enableScriptsToClip) menupopup.appendChild(this.createME("menuitem","Skriptliste in Zwischenablage","uProfMenu.getScripts(1)","uProfMenu_clipboard",0));
         // Ende Anlegen von Untermenues fuer die userChromeJS-Skripte
        menupopup.appendChild(document.createXULElement('menuseparator'));
        // Einbindung von Konfigdateien
        menupopup.appendChild(this.createME("menuitem","userChrome.css","uProfMenu.edit(0,'userChrome.css');","uProfMenu_edit",0));
        menupopup.appendChild(this.createME("menuitem","userContent.css","uProfMenu.edit(0,'userContent.css');","uProfMenu_edit",0));
        menupopup.appendChild(this.createME("menuitem","prefs.js","uProfMenu.edit(1,'prefs.js');","uProfMenu_edit",0));
        menupopup.appendChild(this.createME("menuitem","user.js","uProfMenu.edit(1,'user.js');","uProfMenu_edit"),0);
        menupopup.appendChild(this.createME("menuitem","userChrome.js","uProfMenu.edit(0,'userChrome.js');","uProfMenu_edit",0));
        // Ende Einbindung von Konfigdateien
        menupopup.appendChild(document.createXULElement('menuseparator'));
        // Einbindung von Ordnern
        switch (this.gmOrdner) {
          case 1:
            menupopup.appendChild(this.createME("menuitem","GM Skripte","uProfMenu.dirOpen(uProfMenu.getPrefDirectoryPath('ProfD')+uProfMenu.getDirSep()+'gm_scripts');","uProfMenu_folder"),0);
            break;
          case 2:
            menupopup.appendChild(this.createME("menuitem","USL Skripte","uProfMenu.dirOpen(uProfMenu.getPrefDirectoryPath('UChrm')+uProfMenu.getDirSep()+'UserScriptLoader');","uProfMenu_folder"),0);
            break;
          case 3:
            menupopup.appendChild(this.createME("menuitem","Scriptish Skripte","uProfMenu.dirOpen(uProfMenu.getPrefDirectoryPath('ProfD')+uProfMenu.getDirSep()+'scriptish_scripts');","uProfMenu_folder"),0);
            break;
        }
        if (this.cssOrdner) {
          menupopup.appendChild(this.createME("menuitem","CSSOrdner","uProfMenu.dirOpen(uProfMenu.getPrefDirectoryPath('UChrm')+uProfMenu.getDirSep()+'CSS');","uProfMenu_folder"),0);
        }
        if (this.cssWebOrdner) {
        menupopup.appendChild(this.createME("menuitem","CSSWebOrdner","uProfMenu.dirOpen(uProfMenu.getPrefDirectoryPath('UChrm')+uProfMenu.getDirSep()+'CSSWeb');","uProfMenu_folder"),0);
        }
        if (this.cssForumOrdner) {
         menupopup.appendChild(this.createME("menuitem","CSSForumOrdner","uProfMenu.dirOpen(uProfMenu.getPrefDirectoryPath('UChrm')+uProfMenu.getDirSep()+'CSSForum');","uProfMenu_folder"),0);
        }
        menupopup.appendChild(this.createME("menuitem","Chromeordner","uProfMenu.prefDirOpen('UChrm');","uProfMenu_folder"),0);
        menupopup.appendChild(this.createME("menuitem","Profilordner","uProfMenu.prefDirOpen('ProfD');","uProfMenu_folder"),0);
        menupopup.appendChild(this.createME("menuitem","Addonordner","uProfMenu.dirOpen(uProfMenu.getPrefDirectoryPath('ProfD')+uProfMenu.getDirSep()+'extensions');","uProfMenu_folder"),0);
        menupopup.appendChild(this.createME("menuitem","Installationsordner","uProfMenu.prefDirOpen('CurProcD');","uProfMenu_folder"),0);
        menupopup.appendChild(this.createME("menuitem","Startup-Cacheordner","uProfMenu.dirOpen(uProfMenu.getPrefDirectoryPath('ProfLD')+uProfMenu.getDirSep()+'startupCache');","uProfMenu_folder"),0);
        // Ende Einbindung von Ordnern
        // Separator, falls dieser nicht schon durch abouts generiert wurde und weitere Menuepunkte folgen werden
        if (this.abouts.length==0 && (this.showNormalPrefs || typeof(ToolRstartMod) != "undefined")) menupopup.appendChild(document.createXULElement('menuseparator'));
        // Falls gewuenscht (s. Konfigurationsabschnitt), Zugriff auf die normalen Einstellungen
        if (this.showNormalPrefs) menupopup.appendChild(this.createME("menuitem","Einstellungen","try{openOptionsDialog();}catch(e){openPreferences();}","uProfMenu_prefs"),0);
        // Falls addRestartButton installiert ist, Neustart zur Verfuegung stellen (addRestartButton 1.0.20120105mod erforderlich)
        if(typeof(ToolRstartMod) != "undefined" || this.enableRestart) menupopup.appendChild(this.createME("menuitem","Neustart",
        "try{ToolRstartMod.restartApp(false);} catch(e){alert(e);}","uProfMenu_restart"),0);
    
      },
    
    
      getDirSep:function() {
        // Betriebssystem nach https://developer.mozilla.org/en/Code_snippets/Miscellaneous ermitteln
        var osString = Components.classes["@mozilla.org/xre/app-info;1"].getService(Components.interfaces.nsIXULRuntime).OS;
        var dirsep="/";
        switch(osString) {
          case "WINNT":
            dirsep="\\";
            break;
        }
        return dirsep;
      },
    
    
      edit:function(OpenMode,Filename){
        var Path = "";
        var dSep = this.getDirSep();  // die Trennzeichen zwischen Ordnern abhaengig vom Betriebssystem machen
        switch (OpenMode){
          //Current is Chrome Directory
          case 0:
            var Path = this.getPrefDirectoryPath("UChrm") + dSep + Filename;
            break;
          //Current is Profile Directory
          case 1:
            var Path = this.getPrefDirectoryPath("ProfD") + dSep + Filename;
            break;
          //Current is Root
          case 2:
            var Path = Filename;
            break;
        }
        this.launch(this.TextOpenExe,Path);
      },
    
    
      dirOpen:function(Path){
        if (this.vFileManager.length != 0) {
          var file = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsIFile);
          var process = Cc['@mozilla.org/process/util;1'].createInstance(Ci.nsIProcess);
          var args=[Path];
          file.initWithPath(this.vFileManager);
          process.init(file);
          // Verzeichnis mit anderem Dateimanager oeffnen
          process.run(false, args, args.length);
         } else {
          // Verzeichnis mit Dateimanager des Systems oeffnen
          var dir = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsIFile);
          dir.initWithPath(Path);
          dir.launch();
        }
      },
    
    
      prefDirOpen:function(prefDir){
        Path = this.getPrefDirectoryPath(prefDir);
        this.dirOpen(Path);
      },
    
    
      getPrefDirectoryPath:function(str){
        // get profile directory
        var file = Components.classes["@mozilla.org/file/directory_service;1"]
          .getService(Components.interfaces.nsIProperties)
          .get(str, Components.interfaces.nsIFile);
        if (str == 'CurProcD') {
          file = file.parent;
        };
        return file.path;
      },
    
    
      launch:function(RanPath,OpenPath){
        var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsIFile);
        var proc = Components.classes["@mozilla.org/process/util;1"].createInstance(Components.interfaces.nsIProcess);
        var args = [OpenPath];
        file.initWithPath(RanPath);
        // falls der im Konfigurationsabschnitt definierte Editor nicht gefunden wird, auf Einstellung in about:config ausweichen:
        if (!file.exists()) {
          var pref = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
          RanPath=pref.getCharPref("view_source.editor.path");
          file.initWithPath(RanPath);
        }
        proc.init(file);
        proc.run(false, args, args.length);
      },
    
    
      stringComparison:function(a, b){
        a = a.toLowerCase();
        a = a.replace(/ä/g,"a");
        a = a.replace(/ö/g,"o");
        a = a.replace(/ü/g,"u");
        a = a.replace(/ß/g,"s");
        b = b.toLowerCase();
        b = b.replace(/ä/g,"a");
        b = b.replace(/ö/g,"o");
        b = b.replace(/ü/g,"u");
        b = b.replace(/ß/g,"s");
        return(a==b)?0:(a>b)?1:-1;
      },
    
    
      getScripts:function(iType) {
        // Arrays (jeweils ein Array fuer uc.js und uc.xul) nehmen Namen der gefundenen Skripte auf
        let ucJsScripts = [];
        let ucXulScripts = [];
        // Suchmuster, also die Dateierweiterungen uc.js und uc.xul
        let extjs = /\.uc\.js$/i;
        let extxul= /\.uc\.xul$/i;
        let aFolder = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsIFile);
        aFolder.initWithPath(Services.dirsvc.get("UChrm", Ci.nsIFile).path);
        // files mit Eintraegen im Chrome-Ordner befuellen
        let files = aFolder.directoryEntries.QueryInterface(Ci.nsISimpleEnumerator);
        // Ordner bzw. files durchlaufen und kontrollieren, ob gesuchte Dateien dabei sind
        while (files.hasMoreElements()) {
          let file = files.getNext().QueryInterface(Ci.nsIFile);
          // keine gewuenschte Datei, deshalb continue
          if (!extjs.test(file.leafName) && !extxul.test(file.leafName)) continue;
          // uc.js gefunden -> im Array ablegen
          if (extjs.test(file.leafName)) ucJsScripts.push(file.leafName);
          // uc.xul gefunden -> im Array ablegen
          if (extxul.test(file.leafName)) ucXulScripts.push(file.leafName);
        }
        if (this.sortScripts) {
          ucJsScripts.sort(this.stringComparison);
          ucXulScripts.sort(this.stringComparison);
        }
        // Aufruf der naechsten Methoden um die beiden Untermenues oder die Zwischenablage zu befuellen
        if (iType==0) {
          this.fillMenu("submenu-ucjs","submenu-ucjs-items","Meine Scripte",ucJsScripts,"uProfMenu_ucjs",0);
          this.fillMenu("submenu-ucxul","submenu-ucxul-items", "uc.xul",ucXulScripts,"uProfMenu_ucxul",0);
         } else {
          var result=this.fillClipboardValue(ucJsScripts,ucXulScripts);
          Components.classes["@mozilla.org/widget/clipboardhelper;1"].getService(Components.interfaces.nsIClipboardHelper).copyString(result);
        }
      },
    
    
      fillMenu:function(whichsubmenu, whichsubmenuitems, strlabel, scriptArray,sClass,sTyp) {
        // Beschriftung des Untermenues mit Anzahl der gefundenen Dateien ergaenzen
        var e = document.getElementById(whichsubmenu);
        e.setAttribute('label',strlabel + ' (' + scriptArray.length + ')');
        var popup = document.getElementById(whichsubmenuitems);
        // zunaechst Untermenue zuruecksetzen
        while(popup.hasChildNodes()){
          popup.removeChild(popup.firstChild);
        }
        // Untermenue endlich befuellen
        for (var i = scriptArray.length-1; i > -1; i--) {
          // bisher nur eine Typunterscheidung (userChromeJS-Skript oder about:)
          if (sTyp==0){
            var mitem = this.createME("menuitem",scriptArray[i],"uProfMenu.edit(0,'"+scriptArray[i]+"')",sClass,0);
            mitem.setAttribute("onclick","uProfMenu.openAtGithub(event,'"+scriptArray[i]+"')");
            mitem.setAttribute("tooltiptext"," Linksklick: Bearbeiten,\n Mittelklick: https://github.com/.../"+this.cleanFileName(scriptArray[i])+" \u00F6ffnen,\n Rechtsklick: Suche auf GitHub");
           } else {
            var mitem = this.createME("menuitem",scriptArray[i],"openTrustedLinkIn('"+scriptArray[i]+"','tab')",sClass,0);
          }
          popup.insertBefore(mitem, popup.firstChild);
        }
      },
    
    
      fillClipboardValue:function(sArray,xArray) {
        var retValue;
        var s = 0;
        var x = 0;
        s = sArray.length;
        x = xArray.length;
        switch(this.enableScriptsToClip) {
          case 1:
            retValue = "userChromeJS/uc.js ("+s+"):\n------------------------\n"+sArray.join("\n")+
                       "\n\nuserChromeJS/uc.xul ("+x+"):\n-------------------------\n"+xArray.join("\n");
            break;
          default:
            retValue = "userChromeJS/uc.js ("+s+"):\n------------------------";
            for (var i = 0; i < s ; i++) {
              j = i + 1;
              retValue = retValue + "\n" + j + ". " + sArray[i];
            }
            retValue = retValue + "\n\nuserChromeJS/uc.xul ("+x+"):\n-------------------------";
            if (this.enableScriptsToClip==2) s = 0;
            for (var i = 0; i < x ; i++) {
              j = i + s + 1;
              retValue = retValue + "\n" + j + ". " + xArray[i];
            }
            break;
        }
        return retValue;
      },
    
    
      createME:function(sTyp,sLabel,sCommand,sClass,sId) {
        // Anlegen von menuitem, menu oder menupop - fuer bestimmte Typen nicht eingesetzte Parameter werden als 0 uebergeben
        const XUL_NS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xhtml";
        var m = document.createElementNS(XUL_NS, sTyp);
        switch (sTyp) {
          case "menuitem":
            // this.createME("menuitem","Label des Items","ZuzuweisenderCodeFueroncommand","GewuenschteKlasseDesItems",0)
            m.setAttribute('label', sLabel);
            m.setAttribute('oncommand',sCommand);
            m.setAttribute('class',sClass);
            break;
          case "menu":
            // this.createME("menu","Label des Menues",0,0,"GewuenschteIdDesMenues")
            m.setAttribute('label', sLabel);
            m.setAttribute('id', sId);
            break;
          case "menupopup":
            //this.createME("menupopup",0,0,0,"GewuenschteIdDesMenupopups");
            m.setAttribute('id', sId);
            break;
        }
        return m;
      },
    
    
      openAtGithub:function(e,sScript) {
        if (e.button==1){
          // Mittelklick - Seite auf GitHub oeffnen (funktionier nur, wenn Ordner- und bereinigter Dateiname [ohne Erweiterung] uebereinstimmen):
          var sUrl="https://github.com/ardiman/userChrome.js/tree/master/"+this.cleanFileName(sScript);
          openWebLinkIn(sUrl, 'tab');
        }
        if (e.button==2){
          // Rechtsklick - Suche auf GitHub starten (funktioniert nur, wenn der Dateiname im Code hinterlegt ist):
          e.preventDefault();
          var sUrl="https://github.com/search?langOverride=&language=&q="+sScript+"&repo=&start_value=1&type=Code";
          openWebLinkIn(sUrl, 'tab');
        }
      },
    
    
      cleanFileName:function(sName) {
        sName=sName.toLowerCase();
        /* Das folgende Array enthaelt regulaere Ausdruecke, um ungueltige Zeichenfolgen entfernen:
        /Datei-Erweiterungen am Ende/, /"ucjs_" am Anfang/, /"_"gefolgtVonZahlUndDanachBeliebigenZeichen/
        / "_fx"gefolgtVonZahl(en)/, /"-" oder "+" oder "."/, /"_v"gefolgtVonZahlen
        */
        var regs=[/\.uc\.js$/,/\.uc\.xul$/,/^ucjs_/,/_\d.+/,/_fx\d+/,/[-+\.]/g,/_v\d+/];
        for (var i = 0; i < regs.length; i++) {
          sName=sName.replace(regs[i],"");
        }
        return sName;
      }
    
    };
    uProfMenu.init();
    Alles anzeigen

    Wer kann helfen?

  • Downloadbutton.uc.js Script funktioniert nicht.

    • BarbaraZ-
    • 5. September 2019 um 13:09

    Treffer und versenkt.

    Passt perfet. Danke schön.

  • Downloadbutton.uc.js Script funktioniert nicht.

    • BarbaraZ-
    • 5. September 2019 um 11:04

    Ich habe mir dieses Script umgebaut.

    CSS
    //  Downloadbutton.uc.js
      
      (function() {
    
           if (location != 'chrome://browser/content/browser.xul') return;
            
           try {
              CustomizableUI.createWidget({
                 id: 'Download-button',
                 type: 'custom',
                 defaultArea: CustomizableUI.AREA_NAVBAR,
                 onBuild: function(aDocument) {         
                    var toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xhtml', 'toolbarbutton');
                    var props = {
                       id: 'Download-button',
                       class: 'toolbarbutton-1 chromeclass-toolbar-additional',
                       removable: true,
                       label: 'Download Fenster öffnen',
                       accesskey: 'D',
                       tooltiptext: 'Download Fenster öffnen',
                       style: `list-style-image: (data:image/png ("file:///H:/Icons/downloadbutton.png")!important;)',
                       oncommand: "window.open('chrome://browser/content/downloads/contentAreaDownloadsView.xul', 'Downloads', 'chrome,resizable=yes,width=600,height=750,left=1220,top=100');"
                    };
                    for (var p in props)
                        toolbaritem.setAttribute(p, props[p]);
                    return toolbaritem;
                }
            });
        CustomizableUI.registerToolbarNode(tb);
        } catch(e) { };
       
    })();
    Alles anzeigen

    Dabei ist mir sicherlich beim Einbinden des Icons beim Style ein Fehler unterlaufen.

    Auch das umsetzen von list-style-image: in background: brachte nicht das gewünschte Ergebnis, heißt: Der Butten wird nicht angezeigt.

    Ich weis nicht, wie ich es umsetzen muss.

  • Icons in Nav-Bar verschoben

    • BarbaraZ-
    • 5. September 2019 um 10:41

    So, habe den Fehler gefunden.

    Es waren 2 Scripte, in denen ich folgenden Fehler hatte:

    Ich hatte in der Zeile:

    Code
    if (location != 'chrome://browser/content/browser.xul') return;

    die Endung .XUL genauso in .xhtml geändert, wie in dieser Zeile:

    Code
    http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xhtml', 'toolbarbutton');

    Es betraf folgende Scripte:

    Downloadbutton.uc.js

    Profilordner öffnen.uc.js

    Fehler behoben und alles klappt wieder.

    Nochmal herzlichen Dank allen, die sich die Mühe machten, mich bei der Fehlersuche zu unterstützen. :thumbup:

  • Icons in Nav-Bar verschoben

    • BarbaraZ-
    • 5. September 2019 um 07:01

    Habe schon mal rausgefunden, das es nicht extra_config_menu ist, welches den Fehler verursacht.

    Bin also schon einen Schritt weiter. Der Rest erfolgt dann im laufe des Tages.

    Wäre doch gelacht, wenn sich der Fehler nicht findet.

  • Icons in Nav-Bar verschoben

    • BarbaraZ-
    • 4. September 2019 um 15:00

    Zum Glück nicht alle. Mache ich aber morgen in Ruhe. Heute zeitlich zu knapp.

  • Icons in Nav-Bar verschoben

    • BarbaraZ-
    • 4. September 2019 um 14:56

    Ach ja,

    wenn ich auf Anpassen gehe, ist alles so, wie es sein soll. Wenn ich dann auf Fertig klicke, rutscht es wieder nach links.

    Hier zu sehen:

  • Icons in Nav-Bar verschoben

    • BarbaraZ-
    • 4. September 2019 um 14:51

    Ich hatte eigentlich alles angepasst. Aber irgendwas ist schief gelaufen.

    Habe auch alle Codes und Scripte nochmal durchgesehen, kann den Fehler aber nicht finden.

    Werde mich morgen nochmal drum kümmern, da es heute zeitlich nicht mehr passt. Danke schon mal bis hier hin.

  • Icons in Nav-Bar verschoben

    • BarbaraZ-
    • 4. September 2019 um 14:45

    Okay. Danke für den Ansatz. Habe eigentlich alles schon geändert. Muss also nochmal sorgfältig suchen.

  • Icons in Nav-Bar verschoben

    • BarbaraZ-
    • 4. September 2019 um 14:39

    Habe die Änderung im Script durchgeführt, hat sich aber nichts geändert.

    Leider finde ich die zugehörige css-Datei im Moment nicht, bzw. weis gerade nicht, wo ich suchen soll.

  • Icons in Nav-Bar verschoben

    • BarbaraZ-
    • 4. September 2019 um 14:29

    Danke. Gleich versuchen.

  • Icons in Nav-Bar verschoben

    • BarbaraZ-
    • 4. September 2019 um 14:26

    Wie deaktiviere ich ein Script, ohne es zu löschen?

Unterstütze uns!

Jährlich (2025)

92,9 %

92,9% (604,17 von 650 EUR)

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