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

Beiträge von BrokenHeart

  • BackupProfile.uc.js - div. Fragen dazu

    • BrokenHeart
    • 8. August 2023 um 20:29
    Zitat von FuchsFan

    Kann es so umgeschrieben werden, dass der komplette Profilordner als Archiv gespeichert wird.

    Das macht das Skript doch?! :/

    Wenn du den kompletten Inhalt ohne die Ausschlüsse (Cache usw.) sichern möchtest, dann musst du doch nur die Ausschlüsse entfernen. Anscheinend darf aber die Variable var excludes nicht leer sein, schreib dann einfach. : var excludes = '*x*'; , wenn du alles sichern möchtest. Bei mir sind es dann allerdings 1GB! (hauptsächlich Cache)...

    Oder habe ich dich missverstanden?

  • Suche Tool zum Bearbeiten von animierten GIFs...

    • BrokenHeart
    • 6. August 2023 um 21:10
    Zitat von DonnerDrachen

    sowas? https://ezgif.com/maker

    Das ist so genial! :thumbup: :thumbup:

    Genau das, was ich gesucht hatte. :)

    Habe die Seite gleich "ge-bookmarked".

    Vielen, lieben Dank!!!

    Hier noch das Ergebnis (original):

  • Suche Tool zum Bearbeiten von animierten GIFs...

    • BrokenHeart
    • 6. August 2023 um 20:57

    Für Windows, aber gerne auch online.

    Die einzige Änderung, die ich vornehmen möchte, ist eine Größenanpassung des Bildes bzw. der Animation. Damit meine ich nicht die Dateigröße, sondern wirklich die Anpassung der Höhe und Breite in Pixeln.

    Speziell geht es um diese Animation:

    (Nur in der Vorschau verschwinden hier kurz die Ordner! :/)

    Ideal wäre eine Verkleinerung auf 25% (320p x 180p) der Original-Ausmaße(1280p x 720p).

    Wenn jemand schon so ein Tool hat und das schnell durchführen könnte, wäre das natürlich noch besser und super toll... :) ;) .

  • BackupProfile.uc.js - div. Fragen dazu

    • BrokenHeart
    • 5. August 2023 um 22:50
    Zitat von milupo

    ich habe hier auch noch keinen Erfolg gehabt,

    ...mit was, mit der Benachrichtigungsfunktion? :/

    Wenn ja, sieht das Benachrichtigungsfenster so bei dir aus?

    Also auf "Benachrichtigungsassistent" und nicht auf "nur Alarme" oder "nur mit Priorität" eingestellt?

    Ansonsten noch Hinweis in #288 überprüft?

  • BackupProfile.uc.js - div. Fragen dazu

    • BrokenHeart
    • 5. August 2023 um 22:33
    Zitat von FuchsFan

    die Auswahl kommt sofort, und nach Ende des Backups erscheint auch die Benachrichtigung.

    Danke auch dir für den Test...:thumbup:

  • Cursor manchmal unsichtbar

    • BrokenHeart
    • 5. August 2023 um 22:31
    Zitat von 2002Andreas

    Das der immer blinkt kann man in der config einstellen.

    Hatte ich überlesen. Danke für die Info!

    Mich stört das allerdings nicht - der "verschwundene" Cursor schon eher.

  • Cursor manchmal unsichtbar

    • BrokenHeart
    • 5. August 2023 um 20:30
    Zitat von 2002Andreas

    ich habe das jetzt mehrmals getestet, passiert fast jedesmal nach einem Link.

    Zitat von .DeJaVu

    Ich schreibe gerade eine Nachricht und fügte einen Link ein, Enter - danach war der Cursor weg.

    War nicht immer reproduzierbar. Aber reproduzierbar wie folgt:


    Lorem ipsum, und dann schnell enterlink einfügenenter

    Ist hier auch so und zwar jedes mal, wenn das so ausgeführt wird. Ansonsten hört er nach ein paar Sekunden bei Inaktivität mit dem Blinken auf, ist aber sichtbar. Den Fokus hat er dabei sowohl unsichtbar , als auch "stehend", nicht verloren. Man kann normal weiter tippen. Den nicht mehr blinkenden Cursor hab ich überall im Firefox, selbst in der URL-Bar/Adressleiste...

    Für mich sieht das aber irgendwie "gewollt" aus, also eher ein Feature, als ein Bug... :/

  • BackupProfile.uc.js - div. Fragen dazu

    • BrokenHeart
    • 5. August 2023 um 19:53

    Dharkness : Danke auch dir für die Antworten. So wie ich das jetzt sehe, sollte es also in Bezug auf die Benachrichtigungen nichts mit den Änderungen im Skript zu tun haben. Wohl eine Windows-Geschichte bei dir, aber da können andere hier wahrscheinlich eher was zu sagen... :/

  • BackupProfile.uc.js - div. Fragen dazu

    • BrokenHeart
    • 5. August 2023 um 19:10
    Zitat von 2002Andreas

    Na man gut, dann kann ich den Schlauch ja wieder einrollen ;)

    Diese Meldung erscheint hier in Fx 116, 117 und 118 unter Win 10.

    Man lässt aber auch keine Schläuche einfach so rumliegen, können auch andere darauf stehen bleiben oder sogar zu Fall kommen, also ne ;) ...

    Danke für das Testen der 117 :thumbup: , habe ich hier nicht.

    Meine Einstellungen für die Benachrichtigung sehen hier genauso aus. Wäre vielleicht auch noch eine Baustelle für grisu2099 und Dharkness, die sie überprüfen könnten.

    Edit: hat sich laut #289 wohl erledigt :)

  • BackupProfile.uc.js - div. Fragen dazu

    • BrokenHeart
    • 5. August 2023 um 18:55

    grisu2099 Vielen Dank für die Antworten! :thumbup:

    Win11 kann ich nicht testen. Außerdem habe ich hier nur portable Versionen. Könnte zwar auch eine normale Version installieren, scheue ich momentan aber noch davor zurück. Wenn der Fehler aufgetreten wäre, wenn path leer wäre, würde es - wenn überhaupt - für mich etwas mehr Sinn ergeben. :/

    Zitat von 2002Andreas

    Meinst du damit das Popup von Windows wenn die Sicherung erfolgt ist :/

    Ja, die Meldung meinte ich und so hatte ich die beiden auch verstanden. Eine andere Benachrichtigung wird ja nicht erzeugt, oder habe ich jetzt was übersehen?

  • BackupProfile.uc.js - div. Fragen dazu

    • BrokenHeart
    • 5. August 2023 um 18:41
    Zitat von grisu2099

    Bei mir im Nightly auch nicht - bei der Release erscheint es...

    Zitat von Dharkness

    Bei mir bei beiden nicht.

    Hier funktioniert es sowohl in der Release, als auch in der Nightly immer. Ich habe es jetzt ungefähr 30 mal getestet und jedes mal wurde die Benachrichtigung angezeigt... :/.

    Nur noch mal zur Sicherheit ein paar Nachfragen:

    - Welche Windows(?)-Version habt ihr?

    - Benutzt ihr portable Versionen?

    - Das Backup wurde auch ohne Benachrichtigung korrekt durchgeführt und Firefox war wieder bedienbar?

    - Tritt der Fehler nur auf, wenn die path-Variable in Zeile 20 leer ist also path = ""?

    - Ohne die Anpassung von mir wird jedesmal die Benachrichtigung angezeigt?

  • BackupProfile.uc.js - div. Fragen dazu

    • BrokenHeart
    • 5. August 2023 um 14:30
    Zitat von 2002Andreas

    Funktioniert einwandfrei :thumbup:

    Danke fürs Testen! :)

  • BackupProfile.uc.js - div. Fragen dazu

    • BrokenHeart
    • 5. August 2023 um 14:20

    Ich habe mal den nicht mehr funktionierenden "FilePicker" reaktiviert. D.h. Wenn var path="" ist, dann wird jetzt wieder der Dialog für die Verzeichnis-Auswahl angezeigt.

    Das synchrone show funktionierte ja schon lang nicht mehr und wurde durch die asynchrone Variante open mittels Callback-Funktion ersetzt. Siehe Schnittstellendefinition:

    Code: nsIFilePicker.idl
       /**
      * Opens the file dialog asynchrounously.
      * The passed in object's done method will be called upon completion.
      */
      void open(in nsIFilePickerShownCallback aFilePickerShownCallback);

    Hier der geänderte Code, wenn das jemand testen und nutzen möchte:

    (Der Code ab Zeile 106 könnte vielleicht auch für andere Anwendungsfälle nützlich sein. )

    JavaScript
    // ==UserScript==
    // @name           BackupProfile.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 () {
        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 = "";
                // 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() + '.' + (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);
    
                    zw.open(xpi, pr.PR_RDWR | pr.PR_CREATE_FILE | pr.PR_TRUNCATE);
                    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,'/');
                            // 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
  • UserCSSLoader= Services.jsm entfernt, CSS Codes werden nicht geladen

    • BrokenHeart
    • 3. August 2023 um 17:31
    Zitat von Boersenfeger

    Danke, das ist die Lösung! :)

    Gerne... :)

  • UserCSSLoader= Services.jsm entfernt, CSS Codes werden nicht geladen

    • BrokenHeart
    • 3. August 2023 um 17:22

    Boersenfeger Das wundert mich nicht.

    JavaScript
    if (!window.Services)
    Cu.import("resource://gre/modules/Services.jsm"); // Wenn beim Start ein anderes Fenster angezeigt wird (das zweite Fenster), wird es beendet
    let list = Services.wm.getEnumerator("navigator:browser");

    So wie ich das sehe, kommt so was davon, wenn man (auch bei nur einem! Befehl) keine Klammern setzt.

    Jetzt bezieht sich if (!window.Services) auf die nächste Zeile und wenn das 'false' ist, dann wird da auch nichts mehr ausgeführt.

    Du musst if (!window.Services) auch noch löschen, dann sollte es gehen.

  • Mehrzeilige Tableiste für aktuelle Firefox-Versionen

    • BrokenHeart
    • 3. August 2023 um 17:10
    Zitat von Sören Hentzschel

    aber als Tipp daraus: Als Autor von Scripts lohnt sich manchmal ein Blick in die Konsole, ob es neue Warnungen gibt. :)

    Bei mir auf dem Rechner war in der Nightly der Fehler bereits behoben gewesen, eben wegen der Fehlermeldung und der Warnung. Ich hatte nur vergessen, dass auch in dem veröffentlichten Skript zu korrigieren... :(

    Jetzt habe ich das nachgeholt... ;)

  • Mozilla veröffentlicht Firefox 116

    • BrokenHeart
    • 3. August 2023 um 16:57
    Zitat von grisu2099

    Kann ich nicht bestätigen... :/

    Zitat von FuchsFan

    War hier auch nicht so. :/

    Zitat von milupo

    Und das Rechtschreibwörterbuch war noch installiert bzw. aktiviert?

    Hier war es definitiv so, da ich nichts geändert habe und das Wörterbuch war installiert und noch aktiv (von 'KaiRo') . Wenn das anscheinend nur bei mir aufgetreten ist, dann kann es sich natürlich auch um ein solitäres Problem handeln, welches nur unter bestimmten Rahmenbedingungen auftritt. Ist auch nicht so wichtig (für mich), da ja schnell behoben... :)

  • Mozilla veröffentlicht Firefox 116

    • BrokenHeart
    • 3. August 2023 um 09:56

    Sören Hentzschel :

    Danke für die ausführlichen Erläuterungen :thumbup:. Jetzt ist mir doch der Sinn dieser Ausführungsverhinderung weitgehend klar: also ein Sicherheitsmechanismus für Erweiterungen, der von Mozilla für bestimmte Websites aktiviert, aber vom Benutzer auch wieder deaktiviert werden kann.

    Bei meiner ursprünglichen Annahme war wohl der Wunsch der Vater des Gedankens... ;)

    Zitat von Sören Hentzschel

    Eine entsprechende Option hierfür gibt es erstens erst ab Firefox 117

    Ich hatte das auch auf Firefox 118 getestet...

    ------

    Noch etwas, weil ja thematisch passend:

    Nach dem Update auf FX116 war diese Option für die Rechtschreibprüfung ausgeschaltet, und musste neu eingeschaltet werden:

  • Mozilla veröffentlicht Firefox 116

    • BrokenHeart
    • 2. August 2023 um 20:19

    Danke an alle für die Hilfe! Ja, mal schauen, was Sören dazu sagt.. ...hat schon was gesagt ;) :

    Zitat von Sören Hentzschel

    Auf about:preferences können generell keine Erweiterungen wirken. Das ging mit WebExtensions noch nie und das lässt sich auch nicht ändern.

    Danke für die Bestätigung. Das hatte ich eh schon befürchtet. :(

    Zitat von Sören Hentzschel
    [...]

    auf einer bestimmten Website unterbunden

    [...]

    Was heißt bestimmte Webseite? Sind damit nur Webseiten von Mozilla mit gemeint?

    Edit: Oder ist das dann im Erweiterungs-Panel immer kontextbezogen für die aktuelle Webseite? Aber auch da sehe ich keine zusätzlichen Optionen...

  • Mozilla veröffentlicht Firefox 116

    • BrokenHeart
    • 2. August 2023 um 19:57
    Zitat von .DeJaVu

    Und die Antwort von Sören:

    Sören schreibt, dass es nur angezeigt wird, wenn es relevant und damit blockiert wird. Ich habe anscheinend nur unrelevante Erweiterungen, weil bei mir diese Einstellung nur bei 2 Erweiterungen angezeigt wird. Die Erweiterung, um die es mir aber hauptsächlich geht (Gesturefy), wird aber blockiert (z.B. auf about:preferences). Hier und bei fast allen anderen Erweiterungen erscheint diese Option nicht. Gibt es dafür einen anderen Grund, außer Relevanz? :/

Unterstütze uns!

Jährlich (2026)

32,8 %

32,8% (213,31 von 650 EUR)

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