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. 2002Andreas

Beiträge von 2002Andreas

  • Aufruf des Profilordners klappt nicht mehr

    • 2002Andreas
    • 18. September 2025 um 10:42
    Zitat von BarbaraZ-

    gleich noch einen hinterher:

    JavaScript
    // ==UserScript==
    // @name           BackupProfileFuchsFan.uc.js
    // @namespace      BackupProfile.github.com
    // @description    Schaltfläche zum Sichern des Firefoxprofils
    // @charset        UTF-8
    // @author         ywzhaiqi、defpt
    // @version        v2018.01.10
    // @note           Vorlage Script von ywzhaiqi (+ Mischung aus diversen Varianten aus dem Fuchsforum 1.11.21)
    // @note           Sicherungsdatei enthaelt auch Profilname
    // @reviewURL      http://bbs.kafan.cn/thread-1758785-1-1.html
    (function () {
       
        CustomizableUI.createWidget({
            id : "Backup-button",
            defaultArea : CustomizableUI.AREA_NAVBAR,
            label : "Profilsicherung",
            tooltiptext : "Sichern der aktuellen Konfiguration",
            onClick: function(){
                // Speicherort  
                var path = "D:\\Firefox-Profil-Ordner\\";
                // Ausschlussliste
                var excludes = 'bookmarkbackups *cache* crashes fftmp *healthreport* minidumps safebrowsing *webapps* saved-telemetry-pings *thumbnails* *session* *Telemetry* *hotfix* *.sqlite-shm *.sqlite-wal *.bak parent.lock blocklist.xml content-prefs.sqlite directoryLinks.json mimeTypes.rdf compatibility.ini parent.lock formhistory.sqlite';
    
                let backup = path => {
                    
                    excludes = excludes.replace(/\./g, '\\.').replace(/\*/g, '.*').replace(/\s+/g, '|');
                    excludes = new RegExp(excludes, 'i');
    
                    var zw = Cc['@mozilla.org/zipwriter;1'].createInstance(Ci.nsIZipWriter);
                    var pr = {PR_RDONLY: 0x01, PR_WRONLY: 0x02, PR_RDWR: 0x04, PR_CREATE_FILE: 0x08, PR_APPEND: 0x10, PR_TRUNCATE: 0x20, PR_SYNC: 0x40, PR_EXCL: 0x80};
                    var fu = ChromeUtils.importESModule('resource://gre/modules/FileUtils.sys.mjs').FileUtils;
                    var dir = new FileUtils.File(PathUtils.join(PathUtils.profileDir,[]));
    
                    let d = new Date();
                    d = d.getDate().toString().padStart(2, '0') + '.' + (d.getMonth() + 1).toString().padStart(2, '0') + '.' + d.getFullYear().toString().padStart(2, '0')  + '  '  + d.getHours().toString().padStart(2, '0') + '\uA789' + d.getMinutes().toString().padStart(2, '0') + '\uA789' + d.getSeconds().toString().padStart(2, '0');
    
                    // Die folgende Zeile formt den Archivnamen
                    var archiveName = 'Mein Profil vom ' + ' ' + d + '.zip';  /* 'd' ersetzt 'localnow' */ 
    
                    var xpi = fu.File(path + '\\' + archiveName);
    
                    zw.open(xpi, pr.PR_RDWR | pr.PR_CREATE_FILE | pr.PR_TRUNCATE);
                    
                    // --- FUCHSFAN --->
                    let profPath = dir.leafName + "/";
                    zw.addEntryDirectory(profPath, Date.now() * 1000, false);
                    // <--- FUCHSFAN ---
                    
                    var dirArr = [dir];
                    for (var i=0; i<dirArr.length; i++) {
                        var dirEntries = dirArr[i].directoryEntries;
                        while (dirEntries.hasMoreElements()) {
                            var entry = dirEntries.getNext().QueryInterface(Ci.nsIFile);
                            if (entry.path == xpi.path) {
                                continue;
                            }
    
                            if (entry.isDirectory()) {
                               dirArr.push(entry);
                            }
    
                            var relPath = entry.path.replace(dirArr[0].path, '');
                            if (relPath.match(excludes)) {
                                continue;
                            }
    
                            var saveInZipAs = relPath.substr(1);
                            saveInZipAs = saveInZipAs.replace(/\\/g,'/');
                            
                            // --- FUCHSFAN --->
                            saveInZipAs = profPath+saveInZipAs;
                            // <--- FUCHSFAN ---
                            
                            // Konfigurationsdateien können gesperrt werden
                            try {
                                zw.addEntryFile(saveInZipAs, Ci.nsIZipWriter.COMPRESSION_FASTEST, entry, false);
                            } catch (e) {}
                        }
                    }
                    zw.close();
                    alert('Die aktuelle Konfiguration wurde als:\n'+ archiveName +'\ngesichert in:\n' + path);
    
                    function alert(aString, aTitle) {
                        Cc['@mozilla.org/alerts-service;1'].getService(Ci.nsIAlertsService).showAlertNotification("", aTitle, aString, false, "", null);
                    }
    
                    function bupgetCurrentProfileName(){
                        function readFile(aFile){
                            var stream = Cc["@mozilla.org/network/file-input-stream;1"].createInstance(Ci.nsIFileInputStream);    stream.init(aFile, 0x01, 0, 0);
                            var cvstream = Cc["@mozilla.org/intl/converter-input-stream;1"].createInstance(Ci.nsIConverterInputStream);
                            cvstream.init(stream, "UTF-8", 1024, Ci.nsIConverterInputStream.DEFAULT_REPLACEMENT_CHARACTER);
                            var content = "", data = {};
                            while (cvstream.readString(4096, data)) {
                                content += data.value;
                            }
                            cvstream.close();
                            return content.replace(/\r\n?/g, "\n");
                        }
                        var PrefD = Components.classes["@mozilla.org/file/directory_service;1"].getService(Components.interfaces.nsIProperties).get("PrefD", Components.interfaces.nsIFile);
                        var ini = Components.classes["@mozilla.org/file/directory_service;1"].getService(Components.interfaces.nsIProperties).get("AppRegD", Components.interfaces.nsIFile);
    
                        ini.append("profiles.ini");
                        var ini = readFile(ini);
                        var profiles = ini.match(/Name=.+/g);
                        var profilesD = ini.match(/Path=.+/g);
                        for ( var i = 0; i < profiles.length;i++) {
                        if ((profilesD[i]+"$").indexOf(PrefD.leafName+"$") >= 0) {
                            profiles[i].match(/Name=(.+)$/);
                            return RegExp.$1;
                            }
                        }
                        return null;
                    }
                                    
                };
    
                if (!path) {
                    let nsIFilePicker = Ci.nsIFilePicker;
                    let fp = Cc["@mozilla.org/filepicker;1"].createInstance(nsIFilePicker);
                    fp.init(window, 'Sicherungspfad wählen', nsIFilePicker.modeGetFolder);
                    fp.open( async aResult => {
                        let promise = new Promise(function(resolve) {
                                if(aResult == nsIFilePicker.returnOK) {
                                path = fp.file.path;
                                resolve(path);
                            }
                            else {
                                console.log("PATH-ERROR: " + path);
                                return;
                            }
                        })
                        await promise;
                        backup(path);
                    });
                }
                else {
                   backup(path);
                }
    
            },
            
        });
        
        var cssStr = '@-moz-document url("chrome://browser/content/browser.xhtml"){'
             + '#Backup-button .toolbarbutton-icon {'
             + 'list-style-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1%2B%2FAAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNC8xMS8wOGGVBZQAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzQGstOgAAABxklEQVQ4ja2UMUgbURjHfxeSFBzuBEuCkkAgIA5JDdzWohVnQe3UpRDE2UXpKKXdWro4ixlcdNJAydxiyHZkCIKIOEnLpZQSRFFz%2Bjqk73nvuDtb2j883nv%2F73u%2F%2B%2B69ewf%2FWUZgbgEFYDgiPw18B86An8DtQw%2BYdF1XRLVGoyGEEKJara4Bj0MKIhGYDxuGQVSTqtVqH0ql0uzvNzLigCQSicjmeZ7K63Q6u5VKZRoYigXGVWhZlpbbbrfrwKjfS4ZVGKVCoUCz2aTX65FOp6WdA04igf69CsqyLMrlctAWsRXGAf9EavXyFELEZT4A2TwYsLQKF%2BYXAJhb3VPep4%2BLzK3uqd7vS9Xr%2B2qsAW9u4eyoxcZSFoCVLZfTwxaA6v2xjaUsuYmnWrU60IOr%2FmD8etvl%2Fausikl%2FZcsFULEbD02hwPUdl7cvs1qiBAb9eOCdwdjEM2AABdh88wJA%2BbK%2FX6MDtVPmHyRPOfjRPfc87%2FPfgJLJ5AzwRc0BbNseB8a63e6TuKsXpnw%2BP5nJZAzgq%2BM4x3IPzwFM07woFovv%2Bv3%2BUDTiXqlU6tI0zQs%2FI%2FSe2bYt%2FyCPgJFA%2BAdwDeA4zrfg2l%2BwUqCoC1F3YQAAAABJRU5ErkJggg%3D%3D)'
             + '}}';
        var sss = Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService);
        var ios = Cc["@mozilla.org/network/io-service;1"].getService(Ci.nsIIOService);
        sss.loadAndRegisterSheet(ios.newURI("data:text/css;base64," + btoa(cssStr), null, null), sss.USER_SHEET);
    
    })();
    Alles anzeigen
  • Aufruf des Profilordners klappt nicht mehr

    • 2002Andreas
    • 18. September 2025 um 10:37
    Zitat von BarbaraZ-

    perfekt und Danke

    gern geschehen:)

  • Aufruf des Profilordners klappt nicht mehr

    • 2002Andreas
    • 18. September 2025 um 10:33
    Zitat von BarbaraZ-

    Mit der Bitte um Prüfung. Danke

    teste bitte:

    JavaScript
    // Profilordner.uc.js
    
    (function() {
    
       if (location != 'chrome://browser/content/browser.xhtml') return;
    
    	try {
    
                 CustomizableUI.createWidget({
                 id: 'Profilordner',
                 type: 'custom',
                 defaultArea: CustomizableUI.AREAS,
                 onBuild: function(aDocument) {         
                    var toolbaritem = aDocument.createXULElement('toolbarbutton');
                    var props = {
                       id: 'Profilordner',
                       class: 'toolbarbutton-1 chromeclass-toolbar-additional',
                       removable: true,
                       label: 'Profil Button"',
                       tooltiptext: '',
                       style: 'list-style-image: url("data:image/gif;base64,R0lGODlhEAAQAOZMAP/////MAF06AJhlAJNgAP//AP/lAP/UAJViAP/JANShAJRhAP/OAJRgAOy5AMaSAP/nAMyZAP/IAP/NAOazAP/RAMmVALaAAH5TAJNfAM2aAP/dT//XOv/KAOPOkMeRAP/nhOSxAOu4AP3KAOrTkv/nrv//1c6bAKdyAP/TAP/bPdWsMr6LA7iCALqGALiEAJNeAMCMAP/gcv/eYdGdAP/TEP/mgv/2y//gg/3JAP/ila97AP/aKsWPAJFbAJZgALeBAMiVAPC9AP/rOum2AHlQAP/4zP//z//jPpNdAP/LANixNP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAEwALAAAAAAQABAAAAefgEyCg4SFhoeFDQ0LjIiCCyU5IwEBBAiXCAOEBDohFBREIg6jQgibODQKqgonDz0fPkkwDQMEMhYRERpBMUsAv8C1Mw8uLUAXKwA2EgkJDJoEGy8swAAgCZQMz0wEKigkN8wJHZQBFZrcPDsAHErllBMT6AQ1HkYVKQf6++hMGUgAhhgYSBAChH4/TBwpwLAhw35MMAiYSLFiEUcYmQQCADs=")',
                     
                    };            
                    for (var p in props)
                    toolbaritem.setAttribute(p, props[p]); 
    			    toolbaritem.addEventListener('command', () => {
                    Services.dirsvc.get('ProfD', Ci.nsIFile).launch();
            });
    
                    return toolbaritem;
                    }      
            });
                    CustomizableUI.registerToolbarNode(tb);
            }       catch(e) { };
            }) ();
    Alles anzeigen
  • Ganze Seite nach unten oder oben Scrollen das zweite mal

    • 2002Andreas
    • 18. September 2025 um 10:27
    Zitat von hwww

    Besten Dank für den Hinweis in #2

    gerne doch:)

  • Ganze Seite nach unten oder oben Scrollen das zweite mal

    • 2002Andreas
    • 18. September 2025 um 10:24
    Zitat von lionsson

    könnte das die Standard-Anpassung für die JS-Codes sein

    Nein.

    Es kommt immer auch drauf an, wo das Icon erstellt wird.

  • Ganze Seite nach unten oder oben Scrollen das zweite mal

    • 2002Andreas
    • 18. September 2025 um 10:18
    Zitat von Mira_Belle

    Ersetze Zeile

    Zeile 40 muss dann aber auch noch angepasst werden.

  • Nach Update auf 143.0: Gibt es neue Standards im Code?

    • 2002Andreas
    • 18. September 2025 um 10:11
    Zitat von Sören Hentzschel

    Du kannst meinen Beitrag ignorieren.

    Alles klar, danke.:thumbup:

  • Ganze Seite nach unten oder oben Scrollen das zweite mal

    • 2002Andreas
    • 18. September 2025 um 10:03
    Zitat von hwww

    Was muss geändert werden?

    Beitrag

    RE: Nach Update auf 143.0: Gibt es neue Standards im Code?

    […]

    Teste bitte:

    (Quelltext, 49 Zeilen)

    2002Andreas
    18. September 2025 um 09:56
  • Nach Update auf 143.0: Gibt es neue Standards im Code?

    • 2002Andreas
    • 18. September 2025 um 10:01
    Zitat von Sören Hentzschel

    Der Code ist auch kaputt nach Zeile 41

    Verstehe ich nicht, das Skript funktioniert hier einwandfrei so wie es ist:/

    Und das CSS beginnt bereits in Zeile 38.

  • Nach Update auf 143.0: Gibt es neue Standards im Code?

    • 2002Andreas
    • 18. September 2025 um 09:56
    Zitat von lionsson

    Dieses hier funktioniert tatsächlich nicht mehr richtig

    Teste bitte:

    JavaScript
    //ScrollTopAndBottom.uc.js
    // ab Fx 143
    
    (function() {
    if (location.href !== 'chrome://browser/content/browser.xhtml') return;
    	let menuitem = document.createXULElement('menuitem');
    	menuitem.id = 'context-to-top';
    	menuitem.classList.add('menuitem-iconic');
    	menuitem.setAttribute('tooltiptext' , '');
    	menuitem.style.setProperty('--menuitem-icon', 'url(chrome://browser/skin/downloads/downloads.svg)');
    	let refItem = document.getElementById('context-reload');
    	refItem.parentNode.insertBefore(menuitem, refItem);
    	//click
    	menuitem.addEventListener('click', () => {
    		if (event.button == 0) {
    			ownerGlobal.gBrowser.selectedBrowser.messageManager.loadFrameScript(' data: , content.scrollTo(0,0) ' , false);
    		}
    	}); 
    
    })();
    
    (function() {
    if (location.href !== 'chrome://browser/content/browser.xhtml') return;
    	let menuitem = document.createXULElement('menuitem');
    	menuitem.id = 'context-to-bottom';
    	menuitem.classList.add('menuitem-iconic');
    	menuitem.setAttribute('tooltiptext' , '');
    	menuitem.style.setProperty('--menuitem-icon', 'url(chrome://browser/skin/downloads/downloads.svg)');
    	let refItem = document.getElementById('context-reload');
    	refItem.parentNode.insertBefore(menuitem, refItem);
    	//click
    	menuitem.addEventListener('click', () => {
    		if (event.button == 0) {
    			ownerGlobal.gBrowser.selectedBrowser.messageManager.loadFrameScript(' data: , content.scrollTo(0,100000) ' , false);
    		}
    	});
    
       var css = `
    #context-to-top { 
     --menuitem-icon: url("chrome://browser/skin/downloads/downloads.svg");
      transform:rotate(180deg)!important;
      margin-left: 0px !important;
      margin-right: 10px !important;
    }`;
    
    	var cssUri = Services.io.newURI('data:text/css,' + encodeURIComponent(css), null, null);
    	var SSS = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService);
    	SSS.loadAndRegisterSheet(cssUri, SSS.AGENT_SHEET);
    })();
    Alles anzeigen
  • Gelbe Ordner Farbe wieder verschwunden

    • 2002Andreas
    • 17. September 2025 um 19:23
    Zitat von Tec1do

    könnt Ihr mal drüber schauen.

    Das ist nicht der Code aus Beitrag Nr. 6 :/


    So sieht das mit dem Code nämlich aus:

  • FF143 - Foldericons in Unterordnern werden nicht mehr zugewiesen

    • 2002Andreas
    • 17. September 2025 um 19:17
    Zitat von Mira_Belle

    Ja, ich weiß,

    Wer noch keine Skripte nutzt, der müsste das alles nur wegen dem Pfad erst erstellen und einrichten.

    Letztlich reicht dieser kleine Code für alle Ordner Icons:

    CSS
    .bookmark-item[container="true"],
    treechildren::-moz-tree-image(title, container),
    treechildren::-moz-tree-image(title, query, hostContainer) {
         list-style-image: url("file:D:/Nightly/Profilordner/chrome/Icons/Computer_File_064.gif")!important;
         --bookmark-item-icon: url("file:D:/Nightly/Profilordner/chrome/Icons/Computer_File_064.gif") !important;
    }
  • Gelbe Ordner Farbe wieder verschwunden

    • 2002Andreas
    • 17. September 2025 um 19:13
    Zitat von Tec1do

    Habe das Standard Profile wieder auf den alten PC umgestellt.

    Dann musst du doch nur nachsehen, ob dort die geänderte userChrome.css drin ist.

    Und wenn nicht, dann eben einfügen.

  • FF143 - Foldericons in Unterordnern werden nicht mehr zugewiesen

    • 2002Andreas
    • 17. September 2025 um 19:09
    Zitat von Mira_Belle

    Mir fiele da nur noch der Weg über JS dann ein.

    Nur um den Pfad zu ändern:/

  • Gelbe Ordner Farbe wieder verschwunden

    • 2002Andreas
    • 17. September 2025 um 19:00
    Zitat von Tec1do

    Einmal klicken auf Updates installieren und nix ist mehr so wie es war. Menno

    Wenn du selber Veränderungen vornimmst, dann musst du immer damit rechnen, dass ein CSS-Code mal angepasst werden muss;)

    Zitat von Mira_Belle

    könntest Du dieses ja schon einmal löschen

    Ich würde erstmal gar nichts löschen bevor nicht ganz genau geklärt ist, welches Profil er nutzen will/muss, wegen Passwörter...Lesezeichen etc.

  • Gelbe Ordner Farbe wieder verschwunden

    • 2002Andreas
    • 17. September 2025 um 18:19
    Zitat von Tec1do

    was kein Chrome Ordner hat?

    Wo hast du denn dann den Code eingetragen, wenn es den Ordner nicht geben sollte:/

    Zitat von Tec1do

    Wo sollte ich nachschauen?

    Gib bitte mal

    about:profiles

    in die Adressleiste ein, und drück dann auf Enter.

    Werden dir dort 2 oder mehr Profile angezeigt?

    Ansonsten:

    Wo finde ich meinen Profilordner

    oder auch unter: Hilfe..Weitere Informationen zur Fehlerbehebung..Profilordner.. Ordner öffnen

    Oder oben in die Adressleiste eingeben:

    about:profiles....dann Enter...

    Und da gehst du zu dem Profil mit der Bezeichnung:

    "Dieses Profil wird derzeit verwendet und kann daher nicht gelöscht werden."

    Dann bei "Wurzelordner" rechts auf den Button: Ordner öffnen klicken

  • Gelbe Ordner Farbe wieder verschwunden

    • 2002Andreas
    • 17. September 2025 um 16:42
    Zitat von Mira_Belle

    Es sind aber einige Fehler im CSS!

    Zitat von 2002Andreas

    Ich habe jetzt nicht getestet, ob überhaupt noch alle Codes darin funktionieren.

    Bin mir auch nicht sicher, ob er die wirklich alle braucht:/

  • Meine "Vertical Add-on Bar" funktioniert mit Fx143 nicht mehr?!

    • 2002Andreas
    • 17. September 2025 um 16:14
    Zitat von omar1979

    von mir gepostete Script ist das, dass ich bis jetzt benutzt habe.

    Dann einfach Zeile 15 löschen.

  • Meine "Vertical Add-on Bar" funktioniert mit Fx143 nicht mehr?!

    • 2002Andreas
    • 17. September 2025 um 16:03
    Zitat von omar1979

    automatisch alle übernommen.

    Und wenn du neue einfügen willst?

  • Meine "Vertical Add-on Bar" funktioniert mit Fx143 nicht mehr?!

    • 2002Andreas
    • 17. September 2025 um 16:01
    Zitat von omar1979

    symbolleiste anpassen und verschieben.

    Zitat von Kerian

    Im Anpassen-Fenster taucht die Leiste nämlich nicht mehr auf, was sie vor dem FF-Update tat

    :/

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