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

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

  • Windows - MSDN-ISO

    • Mira_Belle
    • 31. Mai 2024 um 18:35

    Mal ins Blaue geschossen, Du hast irgendein Tool auf Dein Windows losgelassen
    und hast natürlich absolut keine Ahnung, was da geändert wurde.
    In einem "deutschen" Windows gibt es keinen "Startup"-Ordner!

    Es gibt zwei Möglichkeiten! Du hast ein Backup, neueren Datums, dann solltest Du das zurückspielen.
    Oder Du lädst Dir von Deskmodder die "aktuelle" MSDN-ISO herunter und machst ein InplaceUpdate,
    in der Hoffnung, dass das Dein kaputtes System wieder i.O. bringt.
    Ansonsten hilft dann wohl nur noch eine Neuinstallation.

    Edit von 2002Andreas

    Beiträge von hier abgetrennt:

    Beitrag

    „Möchten Sie zulassen, dass durch diese App ...“

    Hallo, allerseits,



    seit einigen Tagen startet der Firefox nicht mehr aus dem Startup-Folder (früher hieß der mal „Autostart“?). Wenn ich ihn von Hand starte, kommt die Meldung „Möchten Sie zulassen, dass durch diese App Änderungen an Ihrem Gerät vorgenommen werden?“ Klicke ich dann auf „Ja“, startet er wie gewohnt. Was muss ich machen, damit der Foxl wieder automatisch startet?



    Danke schon mal im Voraus



    Alf
    Alf aus Mannheim
    31. Mai 2024 um 16:33
  • Firefox und Geolocation API

    • Mira_Belle
    • 31. Mai 2024 um 16:06
    Geolocation API - Web APIs | MDN
    The Geolocation API allows the user to provide their location to web applications if they so desire. For privacy reasons, the user is asked for permission to…
    developer.mozilla.org

    oder auch
    Gibt Firefox meinen Standort an Websites frei? | Mozilla-Hilfe

  • Menüleiste: Importieren & Sichern bereits im Dropdown von Lesezeichen

    • Mira_Belle
    • 31. Mai 2024 um 14:51
    Zitat von Thor Branke

    Mira_Belle Herzlichen Dank! 🙂👍

    Gerne doch, war wieder einmal ein Projekt, das reizvoll und auch lehrreich war.

    Die überarbeitete Version dürft ja in etwa so sein, wie Du Dir das vorgestellt hast.

  • Menüleiste: Importieren & Sichern bereits im Dropdown von Lesezeichen

    • Mira_Belle
    • 31. Mai 2024 um 13:21

    Noch eine Modifizierte Version!

    Die Bibliothek sollte gar nicht mehr zusehen sein und schließt sich auch wieder selbstständig!
    Falls die Bibliothek "hängt" muss der Wert in Zeile 66 erhöht werden.

    JavaScript
    // SaveBookmarks.us.js
    // Author @Mira Bellenbaum
    // https://www.camp-firefox.de/forum/thema/137971/?postID=1250587#post1250587
    
    (function() {
        if (location.href !== 'chrome://browser/content/browser.xhtml') return;
        try {
            CustomizableUI.createWidget({
                id: 'bookmark-menu-button',
                defaultArea: CustomizableUI.AREA_NAVBAR,
                label: 'Lesezeichen speichern',
                tooltiptext: 'Lesezeichen speichern',
                onCommand: onCommand,
    
            });
        } catch(e) {
            return;
        }
    
        let ProfilePath = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir, 'chrome', 'icons')); // Pfad zum Profilordner und gleich in den entsprechenden Unterordner
        let ButtonIcon = "default-browser-red.svg"; // Name & Dateiendung des anzuzeigenden Symbols!
        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(`
     
            #bookmark-menu-button { list-style-image: url("${ProfilePath}/${ButtonIcon}") }
            #bookmark-menu-button.toolbarbutton-1.chromeclass-toolbar-additional image.toolbarbutton-icon {
              width: 28px !important;
              height: 28px !important;
              fill: #83ee1a !important;
              fill-opacity: 1 !important;
              }
     
           `), null, null);
     
        sss.loadAndRegisterSheet(uri, sss.AUTHOR_SHEET);
        
        function onCommand(event) {
            let document = event.target.ownerDocument;
            // Öffne das Lesezeichen-Menü
            let bookmarkButton = document.getElementById('bookmarksShowAll');
            if (bookmarkButton) {
                bookmarkButton.click();
                // Warte eine kurze Zeit, um sicherzustellen, dass das Bibliotheksfenster geladen ist
                setTimeout(function() {
                    let libraryWindow = Services.wm.getMostRecentWindow("Places:Organizer");
                    if (libraryWindow) {
    
                        // Fenster minimieren oder im Hintergrund öffnen
                        libraryWindow.minimize();
    
                        let maintenanceButton = libraryWindow.document.getElementById('backupBookmarks');
                        if (maintenanceButton) {
                            maintenanceButton.click();
    
                            // Warte eine kurze Zeit, um die Aktion abzuschließen, und schließe dann das Fenster
                            setTimeout(function() {
                                libraryWindow.close();
                            }, 5); // Zeit in Millisekunden anpassen, falls erforderlich
    
                        } else {
                            console.error('Wartungsschaltfläche nicht gefunden');
                        }
                    } else {
                        console.error('Bibliotheksfenster nicht gefunden');
                    }
                }, 20); // Zeit in Millisekunden anpassen, falls erforderlich
            } else {
                console.error('Lesezeichen-Schaltfläche nicht gefunden');
            }
        }
    })();
    Alles anzeigen

    Ist doch viel schöner so. ;)

  • Menüleiste: Importieren & Sichern bereits im Dropdown von Lesezeichen

    • Mira_Belle
    • 31. Mai 2024 um 12:37

    Thor Branke

    Meine Güte habe lange daran herumgebastelt!

    Hier nun ein Skript, dass zwar erst die Bibliothek öffnet, aber direkt danach die Schaltfläche "Sichern ..." anspricht,
    sodass dann der Ordner für die Sicherung ausgewählt werden kann.

    JavaScript
    // SaveBookmarks.us.js
    // Author @Mira Bellenbaum
    // https://www.camp-firefox.de/forum/thema/137971/?postID=1250587#post1250587
    
    (function() {
        if (location.href !== 'chrome://browser/content/browser.xhtml') return;
        try {
            CustomizableUI.createWidget({
                id: 'bookmark-menu-button',
                defaultArea: CustomizableUI.AREA_NAVBAR,
                label: 'Lesezeichen speichern',
                tooltiptext: 'Lesezeichen speichern',
                onCommand: onCommand,
    
            });
        } catch(e) {
            return;
        }
    
        let ProfilePath = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir, 'chrome', 'icons')); // Pfad zum Profilordner und gleich in den entsprechenden Unterordner
        let ButtonIcon = "default-browser-red.svg"; // Name & Dateiendung des anzuzeigenden Symbols!
        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(`
     
            #bookmark-menu-button { list-style-image: url("${ProfilePath}/${ButtonIcon}") }
            #bookmark-menu-button.toolbarbutton-1.chromeclass-toolbar-additional image.toolbarbutton-icon {
              width: 28px !important;
              height: 28px !important;
              fill: #83ee1a !important;
              fill-opacity: 1 !important;
              }
     
           `), null, null);
     
        sss.loadAndRegisterSheet(uri, sss.AUTHOR_SHEET);
        
        function onCommand(event) {
            let document = event.target.ownerDocument;
            // Öffne das Lesezeichen-Menü
            let bookmarkButton = document.getElementById('bookmarksShowAll');
            if (bookmarkButton) {
                bookmarkButton.click();
                // Warte eine kurze Zeit, um sicherzustellen, dass das Bibliotheksfenster geladen ist
                setTimeout(function() {
                    let libraryWindow = Services.wm.getMostRecentWindow("Places:Organizer");
                    if (libraryWindow) {
                        let maintenanceButton = libraryWindow.document.getElementById('backupBookmarks');
                        if (maintenanceButton) {
                            maintenanceButton.click();
                        } else {
                            console.error('Wartungsschaltfläche nicht gefunden');
                        }
                    } else {
                        console.error('Bibliotheksfenster nicht gefunden');
                    }
                }, 500); // Zeit in Millisekunden anpassen, falls erforderlich
            } else {
                console.error('Lesezeichen-Schaltfläche nicht gefunden');
            }
        }
    })();
    Alles anzeigen


    OH, NACHTRAG!

    Das Skript sollte dann, was das Icon angeht, auch angepasst werden!

    1. Das Icon (Symbol) sollte im Ordner "icons" unter "chrome" sein.
    2. Wenn es ein ungefärbte "SVG" ist, wird sie im CSS-Teil z.Z. in ein helles Grün gefärbt. Kann und darf man ändern.
    Wenn die "Grafik" farbig ist, hat dieser Code in dem CSS-Teil keine Auswirkung und kann gelöscht werden.

    Wer vorrübergehend einfach aber das definierte Symbol verwenden möchte: default-browser-red.svg

  • Sind die Codes noch aktuell oder haben sich einige geändert?

    • Mira_Belle
    • 27. Mai 2024 um 00:27
    Zitat von grisu2099

    Nein, da dieser spezielle Code ja ausdrücklich für alle Seiten gelten soll... ;)

    Ah, Danke. :thumbup:

  • Sind die Codes noch aktuell oder haben sich einige geändert?

    • Mira_Belle
    • 26. Mai 2024 um 22:48
    Zitat von Andy 123
    Zitat von 2002Andreas

    Du hast ihn aber 2x in der userChrome.css stehen.

    Ach so.

    Mira_Belle war so nett und teilte mir in Beitrag #30 mit, dass sie die Chrome für mich aufgeräumt hat. Jetzt ist der doppelte Eintrag nicht mehr da.

    Grüße Andy

    Ja und Du musst Dir eine "userContent.css" anlegen, falls Du die noch nicht hast, und

    CSS
    /* Scrollbar farbig about und Webseiten */
     :root {
     /* Farbe 1: Thumb - Farbe 2: Hintergund*/
        scrollbar-color: #CC6699 #666699 !important;
    }

    dort eintragen!


    2002Andreas Muss in die "userContent.css" nicht auch so etwas wie @-moz-document url("XXXX") vor den Code?

Unterstütze uns!

Jährlich (2025)

105,8 %

105,8% (687,41 von 650 EUR)

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