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

Beiträge von milupo

  • Zertifikate-Fehler bei Zugriff auf NAS über das lokale Netzwerk

    • milupo
    • 20. März 2025 um 13:30
    Zitat von Sören Hentzschel

    Bei Zertifikatsfehlern ist immer der vollständige Fehler wichtig.

    Ergänzend: Auf der Seite, die dir angezeigt wird, sollte es eine Schaltfläche Erweitert… geben. Klicke da mal darauf und stelle die Informationen ein, die dir angezeigt werden. Darunter sollten auch genaue Fehlercodes sein.

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

    • milupo
    • 20. März 2025 um 13:23

    Ach so genau habe ich nicht hingesehen. Ich sah da bloß .jsm mehrmals hintereinander. Die Schrägstriche vor den Zeilen habe ich nicht gesehen. Ich dachte auch, dass er meinen Code nimmt.

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

    • milupo
    • 20. März 2025 um 13:04

    Du hast den alten Code wieder angegeben. Der funktioniert nicht mehr, du hast ja dann nicht einmal mehr die Symbole.

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

    • milupo
    • 20. März 2025 um 11:57

    Da kann ich im Moment nicht helfen, ich sehe in der Zeile 10 jetzt keinen Fehler. Ich muss jetzt aber auch erst einmal außer Haus. Vielleicht kann dir inzwischen jemand anders helfen.

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

    • milupo
    • 20. März 2025 um 11:32
    Zitat von sam2008

    bookmarks_backup_restore_button.uc.js

    Probiere dafür mal folgenden Code:

    JavaScript
    (function() {
    try {
     ChromeUtils.importESModule("resource:///modules/CustomizableUI.sys.mjs");
     var sss = Components.classes["@mozilla.org/content/style-sheet-service;1"].getService(Components.interfaces.nsIStyleSheetService);
     var RESTORE_FILEPICKER_FILTER_EXT = "*.json;*.jsonlz4";
     
     const lazy = {};
     ChromeUtils.defineESModuleGetters(lazy, { MigrationUtils: "resource:///modules/MigrationUtils.sys.mjs", });
     ChromeUtils.defineESModuleGetters(lazy, { BookmarkJSONUtils: "resource://gre/modules/BookmarkJSONUtils.sys.mjs", });
     ChromeUtils.defineESModuleGetters(lazy, { PlacesBackups: "resource://gre/modules/PlacesBackups.sys.mjs", });
     
     CustomizableUI.createWidget({
       id: "uc-bookmarks_backup", // button id
       defaultArea: CustomizableUI.AREA_NAVBAR,
       removable: true,
       label: "Bookmarks Backup", // button title
       tooltiptext: "Bookmarks Backup", // tooltip title
       onClick: function(event) {
         
         if(event.button=='0') {
           let backupsDir = Services.dirsvc.get("Desk", Ci.nsIFile);
           let fp = Cc["@mozilla.org/filepicker;1"].createInstance(Ci.nsIFilePicker);
           let fpCallback = function fpCallback_done(aResult) {
             if (aResult != Ci.nsIFilePicker.returnCancel) {
               // There is no OS.File version of the filepicker yet (Bug 937812).
               PlacesBackups.saveBookmarksToJSONFile(fp.file.path)
                            .catch(Cu.reportError);
             }
           };
            fp.init(BrowsingContext.getFromWindow(window), "json", Ci.nsIFilePicker.modeSave);
           fp.appendFilter("json",
                           RESTORE_FILEPICKER_FILTER_EXT);
           fp.defaultString = PlacesBackups.getFilenameForDate();
           fp.defaultExtension = "json";
           fp.displayDirectory = backupsDir;
           fp.open(fpCallback);
         }
       },
       onCreated: function(button) {
         return button;
       }
           
     });
     
     CustomizableUI.createWidget({
       id: "uc-bookmarks_restore", // button id
       defaultArea: CustomizableUI.AREA_NAVBAR,
       removable: true,
       label: "Bookmarks Restore", // button title
       tooltiptext: "Bookmarks Restore", // tooltip title
       onClick: function(event) {
         
         if(event.button=='0') {
           let backupsDir = Services.dirsvc.get("Desk", Ci.nsIFile);
           let fp = Cc["@mozilla.org/filepicker;1"].createInstance(Ci.nsIFilePicker);
           let fpCallback = aResult => {
             if (aResult != Ci.nsIFilePicker.returnCancel) {
               
               // check file extension
               if (!fp.file.path.toLowerCase().endsWith("json") &&
                   !fp.file.path.toLowerCase().endsWith("jsonlz4")) {
                 this._showErrorAlert(PlacesUIUtils.getString("bookmarksRestoreFormatError"));
                 return;
               }
               // confirm ok to delete existing bookmarks
               if (!Services.prompt.confirm(null,
                      PlacesUIUtils.getString("bookmarksRestoreAlertTitle"),
                      PlacesUIUtils.getString("bookmarksRestoreAlert")))
                 return;
               (async function() {
                 try {
                   await BookmarkJSONUtils.importFromFile(fp.file.path, {
                     replace: true,
                   });
                 } catch (ex) {
                   PlacesOrganizer._showErrorAlert(PlacesUIUtils.getString("bookmarksRestoreParseError"));
                 }
               })();
               
               
             }
           };
    
            fp.init(BrowsingContext.getFromWindow(window), "json", Ci.nsIFilePicker.modeOpen);
           fp.appendFilter("json",
                           RESTORE_FILEPICKER_FILTER_EXT);
           fp.appendFilters(Ci.nsIFilePicker.filterAll);
           fp.displayDirectory = backupsDir;
           fp.open(fpCallback);
         }
       },
       onCreated: function(button) {
         return button;
       }
           
     });
     
     // style button icon
     var uri = Services.io.newURI("data:text/css;charset=utf-8," + encodeURIComponent('\
        \
          #uc-bookmarks_backup .toolbarbutton-icon {\
            list-style-image: url( data:image/png;base64,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); /* icon / path to icon */ \
            fill: red; /* icon color name/code */\
          }\
          #uc-bookmarks_restore .toolbarbutton-icon {\
            list-style-image: url( data:image/png;base64,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); /* icon / path to icon */ \
            fill: green; /* icon color name/code */\
          }\
        \
     '), null, null);
     
     sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET);
     
    } catch (e) {
       Components.utils.reportError(e);
    };
    })();
    Alles anzeigen
  • Der Glückwunsch-Thread

    • milupo
    • 20. März 2025 um 11:12

    Hallo schlingo, hallo ostsee Euch beiden alles Gute zum Geburtstag und für die Zukunft von mir.

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

    • milupo
    • 20. März 2025 um 11:10

    Du hast einige Zeilen, wo noch .jsm-Module eingelesen werden. Die gibt es nicht mehr. Im Neustart-Skript entferne mal nur Zeile 3. Die neue Zeile hast du schon in Zeile 4. Zeile 3 hast du offenbar vergessen auszukommentieren (mit //) bzw. zu entfernen. Vielleicht funktioniert es dann schon wieder.

    Das erste Skript müsste ich jetzt erst einmal genauer durchsehen.

  • Kleinanzeigen lädt nicht

    • milupo
    • 19. März 2025 um 20:05

    Und nur so nebenbei: Aus dem gleichen Grund gibt es keine aktuellste Version, wie man immer mal wieder liest. Ja mehr noch, aktuell ist das „höchste der Gefühle“, es gibt nichts aktuelleres. Ähnlich verhält es sich mit einzigste. Es gibt nichts einzigeres als das Einzige. Die Rechtschreibprüfung hier weiß das auch, denn sie unterstreicht beide Wörter mit einer roten Wellenlinie. :)

  • Verwendung von Scripten

    • milupo
    • 19. März 2025 um 16:27
    Zitat von 2002Andreas

    Naja, er hatte geschrieben dass es in einem anderen Profil funktioniert.

    Er hatte aber dann noch ein großes „ABER“ geschrieben und seinen Beitrag #29 offenbar noch nachträglich editiert. Später ergänzte er ja auch noch, dass auch er die Einstellung in about:config auf false gesetzt hat.

    Zitat von 2002Andreas

    Warum auch immer, mit dem Skript aus Beitrag Nr. 5 und der Änderung in der config funktioniert es jetzt hier auch. Getestet in Fx 136.0.2

    Na wunderbar, Ende gut, alles gut. Es gibt eben Dinge zwischen Skripten und Erde … :)

  • Verwendung von Scripten

    • milupo
    • 19. März 2025 um 16:13
    Zitat von 2002Andreas

    Hast du das inzwischen schon gemacht?

    So wie ich das jetzt verstanden habe, ist das Problem des TE für ihn gelöst. Mit der von mir genannten Einstellung in about:config. Der Ball liegt jetzt eher bei dir, da du geschrieben hast, dass du das Problem selbst mit browser.newtabpage.activity-stream.improvesearch.handoffToAwesomebar auf false hast.

  • addons_very_day_updatecheck.uc.js tut nicht mehr

    • milupo
    • 19. März 2025 um 00:07
    Zitat von bege

    Kann damit jemand was anfangen?

    Kommt darauf an. Was steht denn bei dir in Zeile 10? Es gibt ja immer mal wieder Skriptversionen mit unterschiedlicher Zeilennummerierung. Steht da vielleicht:

    JavaScript
    this.EXPORTED_SYMBOLS = ["AboutAddonsVerboseChild"];

    Wenn ja, glaube, ich, dass dort auch noch etwas geändert werden muss. EXPORTED_SYMBOLS gibt es wohl in ESM-Modulen nicht mehr, irgendwie muss da stattdessen das Befehlswort export verwendet werden, das wohl Variablen und Funktionen deklariert. Das war es aber schon, was ich weiß.

  • Verwendung von Scripten

    • milupo
    • 18. März 2025 um 20:06
    Zitat von Thunderstruck

    Oh ja, stimmt... hatten wir ja schon.

    Ich hatte mir schon wieder den Kopf gekratzt, als ich deinen Beitrag #29 las. „Sollte es doch ohne diese Einstellung funktionieren?“. Aber nun ist alles klar.

  • Verwendung von Scripten

    • milupo
    • 18. März 2025 um 19:55
    Zitat von Thunderstruck

    Für die, die den Cursor in die Suchleiste haben wollen muss noch

    browser.newtabpage.activity-stream.improvesearch.handoffToAwesomebar > false

    gesetzt werden.

    Eben, siehe Beitrag #22.

  • Firefox Tab schliessen

    • milupo
    • 18. März 2025 um 19:39
    Zitat von amelie3209232

    das mit dem server ist leider verboten

    Dann bist du offensichtlich kein Admin. Als Admin hättest du Zugriff auf ein Netzwerk. Und mit Verlaub, aus meiner Sicht unterstehen dir dann auch keine 200 PCs. Insofern sollte die Lösung mit der user.js optimal sein. Wenn es denn doch 200 PCS in einem Netzwerk geben sollte, dann wende dich an den Admin.

  • Verwendung von Scripten

    • milupo
    • 18. März 2025 um 16:59

    Und hier mein Bildschirmfoto in Fx 136.02:

  • Verwendung von Scripten

    • milupo
    • 18. März 2025 um 16:39
    Zitat von 2002Andreas

    Sorry, tut mir leid

    War nur Spaß. Es ist nur deprimierend, wenn man denkt, man hat das Problem gelöst und dann kommt einer, der es immer noch hat.

    Aber wie gesagt, es funktioniert bei mir in beiden Versionen. Die Skriptversion ist anscheinend unerheblich. Sowohl mit der des TE als auch mit meiner aus Beitrag #9 funktioniert es. Putzigerweise auch mit new-search-text als ID in Firefox 136.

  • Verwendung von Scripten

    • milupo
    • 18. März 2025 um 15:44

    Du kannst einen aber auch den Tag versauen. ;) Bei mir funktioniert es jetzt in beiden Firefox-Versionen, wenn man einen neuen Tab öffnet.


    Gerade mit der Version vom TE getestet. Auch dann funktioniert es bei mir mit der Einstellung in about:config auf false. Es liegt wohl eigentlich nicht am Skript, sondern an dieser Einstellung. Wenn die auf true steht, muss man einen Suchbegriff eingeben, der dann aber in der Adressleiste erscheint. Dann ist ja auch ein Fokus im Google-Suchfeld nicht nötig.

  • Verwendung von Scripten

    • milupo
    • 18. März 2025 um 15:25

    2002Andreas Setze mal in about:config die Einstellung browser.newtabpage.activity-stream.improvesearch.handoffToAwesomebar auf false.

  • Verwendung von Scripten

    • milupo
    • 18. März 2025 um 13:49

    2002Andreas Offensichtlich gibt es in Fx 136 die ID newtab-search-text nicht, sondern nur die Klasse fake-editable.

  • Verwendung von Scripten

    • milupo
    • 18. März 2025 um 13:33

    2002Andreas Es wird noch seltsamer. In meiner Version aus Beitrag #9 ist noch ein alter Eventhandler drin und trotzdem funktioniert das Skript im Nightly. Allerdings erwarten wir die automatische Anzeige des Kursors, hier geht es um den Klick auf eine Schaltfläche, die uns eigentlich stören dürfte.

Unterstütze uns!

Jährlich (2025)

101,9 %

101,9% (662,48 von 650 EUR)

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