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

Beiträge von Mira_Belle

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

    • Mira_Belle
    • 4. Juni 2024 um 22:42

    Jetzt?

    JavaScript
    // BookmarkThisPage_Test03.uc.js
    
    (function () {
        if (location.href !== 'chrome://browser/content/browser.xhtml') 
          return;
    //    ## START UserCustomisation ##
      const buttonIcon1 = 'bookmark-hollow.svg';    // Name.Dateiendung des anzuzeigenden Symbols | Name.file extension of the symbol to be displayed
      const buttonIcon2 = 'bookmark.svg';           // Name.Dateiendung des anzuzeigenden Symbols | Name.file extension of the symbol to be displayed
      const iconPath = '/chrome/icons/';            // Pfad zum Ordner der das Icon beinhaltet | Path to folder containing the icon
      const label1 = 'Als Lesezeichen speichern';   // [starred=null]
      const label2 = 'Lesezeichen bearbeiten';      // [starred="true"]
      const tooltiptext = 'Site als Lesezeichen speichern/bearbeiten';
    // ## END UserCustomisation ##
    
      const oncommand = 'gContextMenu.bookmarkThisPage();';
      const curProfDir = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir));
      const menuitem1 = document.createXULElement('menuitem');
            menuitem1.id = 'contextBookmarkpage';
            menuitem1.setAttribute('tooltiptext', tooltiptext);
            menuitem1.setAttribute('oncommand', oncommand);
            menuitem1.classList.add('menuitem-iconic');
      const refItem1 = document.getElementById('context-inspect');
            refItem1.parentNode.insertBefore(menuitem1, refItem1.nextSibling);
      
    // Status aktualisieren
      const orig = document.getElementById('context-bookmarkpage');
      
    // Funktion zum Aktualisieren des Labels und Icons
        function updateMenuItem() {
            const starred = orig.getAttribute('starred');
            console.log(`starred attribute: ${starred}`); // Debugging-Ausgabe
        
            if (starred === "true") {
                menuitem1.setAttribute('label', 'funzt');
            } else {
                menuitem1.setAttribute('label', 'funzt nicht');
            }
        
            // starred-attribut vom Original 'context-bookmarkpage' clonen
            menuitem1.setAttribute('starred', starred);
        }
      
    // MutationObserver einrichten
      const observer = new MutationObserver(updateMenuItem);
      observer.observe(orig, { attributes: true, attributeFilter: ['starred'] });
      
    // Initiales Update
      updateMenuItem();
      
      let sss = Components.classes['@mozilla.org/content/style-sheet-service;1'].getService(Components.interfaces.nsIStyleSheetService);
      let uri = Services.io.newURI('data:text/css;charset=utf-8,' + encodeURIComponent(`
        #contextBookmarkpage[starred="true"] image {
          list-style-image: url(${curProfDir}${iconPath}${buttonIcon2}) !important;
          transform: scale(0.9) !important;
          -moz-context-properties: fill;
          fill: orange !important;
        }
        #contextBookmarkpage[starred="true"]:hover image {
          list-style-image: url(${curProfDir}${iconPath}${buttonIcon2}) !important;
          fill: lightgreen !important;
        }
        #contextBookmarkpage[starred=null] image/*, 
        #contextBookmarkpage image*/{
          list-style-image: url(${curProfDir}${iconPath}${buttonIcon1}) !important;
          transform: scale(0.9) !important;
          -moz-context-properties: fill;
          fill: orange !important;
        }
        #contextBookmarkpage[starred=null]:hover image/*, 
        #contextBookmarkpage:hover image*/{
          list-style-image: url(${curProfDir}${iconPath}${buttonIcon1}) !important;
          fill: lightgreen !important;
        }
      `), null, null);
      sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET);
      
    })();
    Alles anzeigen
  • userChrome.js Scripte für den Fuchs (Diskussion)

    • Mira_Belle
    • 4. Juni 2024 um 19:55
    Zitat von Mitleser

    Mira_Belle Kann es sein dass du mich veräppelst?:)

    Nein! Es scheint wirklich heute nicht mein Tag zu sein!
    Auch mit Deiner Erklärung, Danke dafür, und Deiner Geduld, fürchte ich,
    weiß ich immer noch nicht so genau, was genau gemacht werden soll.

    Aber lass es jetzt gut sein, ich peil das wahrscheinlich eh nicht,
    Dennoch vielen Dank, hoffe für Dich, Du bekommst das so hin, wie Du Dir das wünschst.


    Nachtrag!
    Nun ja, ich glaube, wir haben da in gewissen Stellen aneinander vorbeigeschrieben!
    Aber auch, dass ich irgendwie nicht verstanden habe, was genau Du meinst.
    Du hast Dich für mich aber auch so technisch gelesen!
    Schau Dir mal das Skript an, wenn ich das nun doch entlich geschnackelt habe,
    könnte das so sein, wie Du beabsichtigst.

    JavaScript
    // BookmarkThisPage_Test.uc.js
    
    (function () {
        if (location.href !== 'chrome://browser/content/browser.xhtml') 
          return;
    
      //    ## START UserCustomisation ##
      const buttonIcon1 = 'bookmark-hollow.svg';    // Name.Dateiendung des anzuzeigenden Symbols | Name.file extension of the symbol to be displayed
      const buttonIcon2 = 'bookmark.svg';           // Name.Dateiendung des anzuzeigenden Symbols | Name.file extension of the symbol to be displayed
      const iconPath = '/chrome/icons/';            // Pfad zum Ordner der das Icon beinhaltet | Path to folder containing the icon
      const label1 = 'Als Lesezeichen speichern';   // [starred=null]
      const label2 = 'Lesezeichen bearbeiten';      // [starred="true"]
      const tooltiptext = 'Site als Lesezeichen speichern/bearbeiten';
      // ## END UserCustomisation ##
    
      const oncommand = 'gContextMenu.bookmarkThisPage();';
      const curProfDir = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir));
      const menuitem1 = document.createXULElement('menuitem');
            menuitem1.id = 'contextBookmarkpage';
            menuitem1.setAttribute('tooltiptext', tooltiptext);
            menuitem1.setAttribute('oncommand', oncommand);
            menuitem1.classList.add('menuitem-iconic');
      const refItem1 = document.getElementById('context-inspect');
            refItem1.parentNode.insertBefore(menuitem1, refItem1.nextSibling);
      
      // Status aktualisieren
      const orig = document.getElementById('context-bookmarkpage');
      
      // Funktion zum Aktualisieren des Labels und Icons
        function updateMenuItem() {
            const starred = orig.getAttribute('starred');
                if (starred == '') {
                menuitem1.setAttribute('label', 'funzt');
                } else if (starred == "null") {
              menuitem1.setAttribute('label', label1);
                } else if (starred == "true") {
              menuitem1.setAttribute('label', label2);
                } else {
              menuitem1.setAttribute('label', 'funzt nicht');
            }
      
          // starred-attribut vom Original 'context-bookmarkpage' clonen
          menuitem1.setAttribute('starred', starred);
        }
      
      // MutationObserver einrichten
      const observer = new MutationObserver(updateMenuItem);
      observer.observe(orig, { attributes: true, attributeFilter: ['starred'] });
      
      // Initiales Update
      updateMenuItem();
      
      let sss = Components.classes['@mozilla.org/content/style-sheet-service;1'].getService(Components.interfaces.nsIStyleSheetService);
      let uri = Services.io.newURI('data:text/css;charset=utf-8,' + encodeURIComponent(`
            #contextBookmarkpage[starred="true"] image {
            list-style-image: url(${curProfDir}${iconPath}${buttonIcon2}) !important;
            transform: scale(0.9) !important;
            -moz-context-properties: fill;
            fill: orange !important;
            }
            #contextBookmarkpage[starred="true"]:hover image {
            list-style-image: url(${curProfDir}${iconPath}${buttonIcon2}) !important;
            fill: lightgreen !important;
            }
            #contextBookmarkpage[starred=null] image/*, 
            #contextBookmarkpage image*/{
            list-style-image: url(${curProfDir}${iconPath}${buttonIcon1}) !important;
            transform: scale(0.9) !important;
            -moz-context-properties: fill;
            fill: orange !important;
            }
            #contextBookmarkpage[starred=null]:hover image/*, 
            #contextBookmarkpage:hover image*/{
            list-style-image: url(${curProfDir}${iconPath}${buttonIcon1}) !important;
            fill: lightgreen !important;
            }
        `), null, null);
        sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET);
      
    })();
    Alles anzeigen
  • userChrome.js Scripte für den Fuchs (Diskussion)

    • Mira_Belle
    • 4. Juni 2024 um 18:24
    Zitat von Mitleser

    Das ist hier aber nicht die 'Aufgabenstellung'.

    Ich stehe z.Z. wirklich total auf dem Schlauch!
    Was wäre denn die Aufgabenstellung?
    Ich bin irgendwie total begriffsstutzig.

    Hatte gerade einen Geistesblitz, hoffe ich.

    Dir geht es nicht um die Funktion, die das Skript implementiert,
    sondern WIE es das macht. Richtig?

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

    • Mira_Belle
    • 4. Juni 2024 um 17:01

    Sorry, dann verstehe ich nicht. Auch wenn es nur ein Test sein soll, so verstehe ich einfach nicht,
    was Du bezwecken willst. Vielleicht lasse ich es auch noch einmal sacken und lese Deine Beiträge
    nochmal und ein anderes Mal.

    Erkläre es mir bitte doch noch einmal mit dem Reloadbutton, oder besser mit einer Funktion,
    die so im Menü nicht vorkommt! Z.B. "Reload userChrome.css" oder "Downloadfenster öffnen" oder
    "Anwendungsmenü öffnen" (Hamburgermenü).

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

    • Mira_Belle
    • 4. Juni 2024 um 16:47

    Ob ich das jetzt verstanden habe?

    Also, im Kontextmenü gibt es schon das Sternchen, mit allen gewünschten Eigenschaften.
    Aber Du möchtest das Klonen, damit es einen neuen Eintrag im Menü gibt.
    Diese soll immer da sein, damit auch andere Ding, also nicht nur Seiten (Pages) als Lesezeichen abgelegt werden können,
    sondern auch Bildern usw.
    Richtig?

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

    • Mira_Belle
    • 4. Juni 2024 um 15:31

    Mitleser Ich verstehe nur Bahnhof. Sorry.

    Was soll das Skript bezwecken, wo für soll es sein?

  • "Fatal Error" beim Versuch von "Helles Farbschema" auf "Dunkles Farbschema" im Kontrollzentrum umzuschalten

    • Mira_Belle
    • 3. Juni 2024 um 11:06

    :thumbup:

  • Windows - MSDN-ISO

    • Mira_Belle
    • 2. Juni 2024 um 16:49
    Zitat von Foxxiator

    Ich ging von den ISO´s aus, welche das MCT zur Verfügung stellt und die werden recht unregelmäßig aktualisiert....

    Ach so. Missverständnis, sorry.

  • In memoriam

    • Mira_Belle
    • 2. Juni 2024 um 16:39
    Zitat von .DeJaVu

    Was mich mal wieder bestürzt, ist "nach kurzer, schwerer Krankheit", 92 ist ein tolles Alter, aber so abtreten ist wie Arschtritt.

    Kann alles bedeuten! Ich tröste mich dann immer mit der Vorstellung, hat nicht leiden müssen
    und es ging schnell.
    Wenn ich an meinen Papa denke, lag Monate lang im Bett, hatte Schmerzen und der Krebs fraß ihn langsam auf.
    Das schlimme, er bekam das, bis auf wenige Tage vor seinem ableben alles mit.
    Er bettelte um Erlösung, aber "einschläfern" darf oder durfte man ja in DE nicht.

    Dann doch bitte mit Arschtritt, kurz und schmerzlos.

  • Windows - MSDN-ISO

    • Mira_Belle
    • 2. Juni 2024 um 16:30
    Zitat von Foxxiator

    Die Jungs nehmen die originalen ISO´s und integrieren in ihrer Freizeit sämtliche Updates; machen also das, was MS so nie hinbekommt. Ich nutze dieser ISO´s von DM sehr gerne und da Hashes bereitgestellt werden, kann man sicher sein, das diese fehlerfrei übertragen wurden. So soll das sein....

    Das stimmt so nicht ganz! Ja, die machen das, aber es ging und geht hier nur um die MVS (MSDN) Versionen,
    die moinmoin zur Verfügung stell. Die MSDN-ISOs hinken zwar immer ca. 2 Wochen den Updates hinterher,
    sind aber original und nicht von irgendwem zusammen geschustert!
    Das könntest Du auch selber, und Du wüsstest, was Du da hast. ;)

  • Windows - MSDN-ISO

    • Mira_Belle
    • 2. Juni 2024 um 16:19

    Danke 2002Andreas fürs Abtrennen.
    .DeJaVu Ich habe jetzt mehrere Male Deine Kritiken durchgelesen, verstehe es aber immer noch nicht!
    Eventuell stehe ich diesbezüglich ja auf dem Schlauch!

    Auf den Bereich der Downloads von den ISOs, auf DM, welche ja originale MSN-ISOs sein sollen,
    ist doch direkt über den Links der Downloads, ein Link zu Hashes aller vier ISOs.

    Auch hast Du ja ebenfalls ein Bookmark, um Hashes zu kontrollieren!
    Im Übrigen gibt es auf Redit sowie auf "My Digital Life" ebenfalls Listen mit Hashes.

    Deine Kritik, dass DM solche Hashes nicht zur Verfügung stellt, damit Du vor dem Download weißt,
    was Du da herunterlädst, kann ich nicht nachvollziehen!
    Die könnten, wenn sie die ISOs manipulieren, ihre eigenen Hashes dort posten,
    und wenn Du Dich dann nur darauf verlässt, hättest Du eben keine MSN-ISOs.

    Runterladen, Hash mit z.B. Nirsoft HashMyFiles erstellen, im I-Net recherchieren und vergleichen!
    Wenn die Werte nicht stimmen, noch mal downloaden oder andere Quelle suchen.
    Prozedere wiederholen!
    Das ist jetzt aber nur rein theoretisch! Ist mir noch nie so ergangen, dass die Hashes nicht gepasst hätten.

    Wer mit dem Download mit dem MCT glücklich ist, darf es doch sein.
    Ist halt die bequemste Art, an eine ISO zu kommen, mit all deren Nachteilen und Bedenken.

    Und ich sehe schon, wie es grummelt!
    Nimm zwei Rechner, führe MCT aus. Erstelle von beiden offensichtlich gleichen ISOs Hashes und vergleiche,
    und staune. Sollten diese nicht identisch sein?
    Deshalb sichere ich mir diese ISOs von DM, oder anderen "Orten", denn da bin ich mir sicher, da hat MS nicht drann
    rumgefummelt. Aber DAS, das ist dann wieder ein ganz anderes Thema.


    Nachtrag!

    massgrave hatte ich mit voller Absicht nicht verlinkt!
    Wegen der Skripts! Wie Du ja bemängeltest, illegal. ;)

    Aber ja, das ist auch meine Quelle.

  • Windows - MSDN-ISO

    • Mira_Belle
    • 2. Juni 2024 um 12:25

    .DeJaVu Noch etwas für Deine Bookmarks.

    MSDN Files Info by WZT

  • "Fatal Error" beim Versuch von "Helles Farbschema" auf "Dunkles Farbschema" im Kontrollzentrum umzuschalten

    • Mira_Belle
    • 1. Juni 2024 um 17:21

    Oh, kann ich bestätigen!

    Wollte gerade von "Dunkles Farbschema" auf "Automatisch erkennen" umstellen.

    ABER! Wenn ich die Einstellungen kondoliere, also die Fehlermeldung schließe und in einem weiteren Fenster ins Kontrollzentrum gehe, sind die neuen Einstellungen übernommen worden.

  • Backup Script funktioniert nicht mehr

    • Mira_Belle
    • 1. Juni 2024 um 16:48
    Zitat von BrokenHeart

    So wie ich es verstanden habe, funktioniert das Skript jetzt ja bei ihm. Nur die Meldung nach Fertigstellung wird nicht angezeigt.

    nierewa , Mira_Belle Was steht bei euch in dem Benachrichtigungs-Fenster an der markierten Stelle?

    Ah, endlich ein, nein, der Profi! Da steht "Alles aus". Dann ist ja alles klar.

    Und danke für die Erklärungen und Korrekturen.

  • Backup Script funktioniert nicht mehr

    • Mira_Belle
    • 1. Juni 2024 um 15:10

    Sehr interessant!

    Dein Nutzerprofil liegt also auf dem LW "Z:\", richtig?

    Und Deine Installation anscheinend auf LW "E:\", auch richtig?

    Und wo bitte hast Du Dein BS, also Windows installiert?

    Aber gut, wenn nun eine Sicherung angelegt wird, sollte es gut sein.

    Nimm aber bitte wider das Skript aus #2. Meines war nur zur Fehleranalyse gedacht!

  • Windows - MSDN-ISO

    • Mira_Belle
    • 1. Juni 2024 um 14:19

    .DeJaVu Die ISOs zu verteilen ist eine Sache, die Installationen illegal zu aktivieren eine andere.

    Ach, die von mir verlinkten ISOs sind nicht selbst erstellt! Das sind die offiziellen MVS (MSDN) Versionen.

    Und auch wenn es direkt auf DM keine Hashes gibt, es sollte doch jede imstande sein,
    welche zu erstellen und per Suchmaschine welche zum Vergleich zu finden.
    Natürlich nicht nur die, die man direkt auf der ersten Seite findet, sondern viele Hashes
    zum Vergleich heranziehen.
    Ach und den Link zu DM hatte ich nur gesetzt, weil auf anderen Seiten gleich auch ein Skript
    und die dazugehörende Erklärung zur Aktivierung angeboten wird.
    Aber auch hier, wer imstande ist, die genaue Bezeichnung in z.B. Google einzugeben,
    findet massig Seiten, die eben genau jene ISO anbietet.

    Früher bot MS solche aktualisierten ISOs unentgeltlich an, nun können sie den Hals nicht voll genug bekommen
    und "verstecken diese ISOs hinter einer "Bezahlschranke".
    So mein Eindruck und meine persönliche Meinung. Aber selbst verständlich kann ich mich auch irren
    und diese Maßnahmen dienen nur der Sicherheit.

    Zu dem "heißen Stuhl", das ist ja wohl deren Problem!

    Zu: "Muss jeder wohl wissen, bei was er sich dort bedient und reinfällt."
    Geschwubbel und wieder so eine nicht belegbare Unterstellung!

    Auf den Rest Deines Kommentars gehe ich jetzt nicht näher ein, denn nicht belegt,
    und dann auch verschiedene Dinge, wie ich oben schon monierte, in einen Topf werfen.

    Nun ist aber Gut, Du hast Deine Meinung, und darfst diese auch haben.
    Aber Deine Übergriffigkeit, mir etwas vorschreiben zu wollen, geht mir dann doch einfach zu weit.

    Ich schätze Deine Hilfsbereitschaft, Dein Wissen, wenn Du es denn erklärst, manchmal machst Du das ja auch,
    aber wenn Du ruppig wirst, das mag ich dann gar nicht.

  • Backup Script funktioniert nicht mehr

    • Mira_Belle
    • 1. Juni 2024 um 12:15

    Nutze bitte mal dieses Skript und mache danach einen Screenshot Deiner Konsole.

    JavaScript
    (function () {
        ChromeUtils.importESModule("resource:///modules/CustomizableUI.sys.mjs");
        CustomizableUI.createWidget({
            id : "Backup-button",
            defaultArea : CustomizableUI.AREA_NAVBAR,
            label : "Profilsicherung",
            tooltiptext : "Sichern der aktuellen Konfiguration",
            onClick: function(){
                // Speicherort  
                var path = "D:\\Firefox Profil";
                // 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 => {
                    console.log("Backup-Pfad: ", 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() + '.' + (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 = 'Profil ' + ' ' + d + '.zip';  /* 'd' ersetzt 'localnow' */ 
    
                    var xpi = fu.File(path + '\\' + archiveName);
    
                    console.log("Archivname: ", archiveName);
                    console.log("xpi path: ", xpi.path);
    
                    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) {
                                console.log("Fehler beim Hinzufügen der Datei: ", entry.path, 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

    Die Konsole findest Du unter Extras/Weitere Werkzeuge/Browser-Werzeuge

  • Backup Script funktioniert nicht mehr

    • Mira_Belle
    • 1. Juni 2024 um 12:08

    In Zeile 81 wird eine Ausgabe angewiesen, funktioniert das bei irgendwem?

    Und zu :

    Zitat von Dharkness

    Existiert denn der in Zeile 20 angegebene Pfad?

    Der wurde bei mir angelegt, also der Ordner! Das LW gab es ja schon.

  • Backup Script funktioniert nicht mehr

    • Mira_Belle
    • 31. Mai 2024 um 23:33

    Bei mir funktioniert das Skript und legt den Ordner "Firefox Profil" im Laufwerk "D:\" an.

  • Windows - MSDN-ISO

    • Mira_Belle
    • 31. Mai 2024 um 22:46

    Von Hashes habt Ihr aber schon mal gehört, oder?

    Aber gut, lassen wir das. Das Problem wurde scheinbar gelöst.

Unterstütze uns!

Jährlich (2026)

69,4 %

69,4% (538,17 von 775 EUR)

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