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

  • Firefox v136.0 - Skript "export_folder_to_html.uc.js" funktioniert nicht mehr

    • milupo
    • 7. März 2025 um 19:41
    Zitat von Mira_Belle

    Nur wodurch wird dann der Speichern-Dialog aufgerufen?

    Ich sehe da drei Stellen: In Zeile 23 wird fp.modeSave angegeben. modeSave bezieht sich sicherlich auf den Speichermodus für die Variable fp. Dann in Zeile 34:

    JavaScript
     new this.exporter(bookmarks).exportToFile(fp.File.Path);

    So wie ich das verstehe, wird hier ein Objekt für den Export von Lesezeichen in eine Datei geschaffen.

    Und dann:

    JavaScript
    exporter.export(parentNode);

    Damit sollte der Export der Lesezeichen erfolgen. Was aber nicht geschieht.

  • Firefox v136.0 - Skript "export_folder_to_html.uc.js" funktioniert nicht mehr

    • milupo
    • 7. März 2025 um 19:21

    Ach so. Ich glaube nicht, dass uns das hilft. In deinem Code wird nur auf Kontrollkästchen (checkbox) und Optionsschaltflächen (radio button) geprüft, ob diese ausgewählt sind oder nicht. Das hat meiner Meinung nach nichts mit dem Speichern-Dialog zu tun. Und ehrlich gesagt, ich möchte damit jetzt nicht herumexperimentieren, sondern mich an den Code des Skripts halten.

  • Tab mit Audioinhalt: Ist diese Darstellung normal oder ein nicht mehr richtig funktionierendes Script?

    • milupo
    • 7. März 2025 um 18:31

    Bei .tab-audio-button sind zwei schließende geschweifte Klammern auskommentiert, sodass es keine gültige schließende geschweifte Klammer mehr gibt.

  • Firefox v136.0 - Skript "export_folder_to_html.uc.js" funktioniert nicht mehr

    • milupo
    • 7. März 2025 um 18:04

    Das ist doch gar nicht in diesem Skript hier. :/

  • Fx 136 downloadSoundPlay.uc.js funktioniert nicht mehr

    • milupo
    • 7. März 2025 um 17:16

    Schön, dass du es selbst herausfinden konntest. :thumbup:

  • Firefox v136.0 - Skript "export_folder_to_html.uc.js" funktioniert nicht mehr

    • milupo
    • 7. März 2025 um 15:39
    Zitat von lenny2

    Der Code wurde von einem Campusnachbarn zur Verfügung gestellt.

    Kannst du den vielleicht noch erreichen?

    Darum habe ich zu dem Skript nur etwas von dir gefunden. Du hattest es 2023 schon mal hier im Forum zur Sprache gebracht (aber ohne jedwede Anmerkungen), selbst per Google war nichts zu finden.

  • Firefox v136.0 - Skript "export_folder_to_html.uc.js" funktioniert nicht mehr

    • milupo
    • 7. März 2025 um 12:57

    Ja, ich habe gesehen, dass parentNode nicht definiert ist, aber, da es eben in der Version #1 ebenfalls nicht definiert ist, habe ich mir nichts weiter dabei gedacht und einen Bezugsfehler auf irgendeinen anderen Code-Teil angenommen.


    lenny2 Wo hast du das Skript her?

  • Firefox v136.0 - Skript "export_folder_to_html.uc.js" funktioniert nicht mehr

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

    Meine Version ist diese:

    JavaScript
    // export_folder_to_html.uc.js
    // Exports folder bookmarks to HTML file
    // Item "Export folder to HTML" in the context menu of the folder in “Manage Bookmarks” and Sidebar
    (async topic => {
        let imp = (m, n = m)  => ChromeUtils.importESModule(`resource://gre/modules/${m}.sys.mjs`, {})[n];
        var exporter = {
            get dps() {
                delete this.dps;
                return this.dps = imp("DownloadPaths");
            },
            get exporter() {
                delete this.exporter;
                return this.exporter = imp("BookmarkHTMLUtils", "BookmarkExporter");
            },
            async export(popup) {
                var win = popup.ownerGlobal, tn = popup.triggerNode;
                var node, pu = win.PlacesUtils, bm = pu.bookmarks;
                if (tn.nodeName == "treechildren") node = popup._view.selectedNode;
                else if (tn.id == "OtherBookmarks")
                    node = {bookmarkGuid: bm.unfiledGuid, title: tn.getAttribute("label")};
                else node = tn._placesNode || popup._view.result.root;
                var fp = Cc["@mozilla.org/filepicker;1"].createInstance(Ci.nsIFilePicker);
                fp.init(win, win.PlacesUIUtils.promptLocalization.formatValueSync("places-bookmarks-export"), fp.modeSave);
                fp.appendFilters(fp.filterHTML);
                fp.defaultString = (node.title ? this.dps.sanitize(node.title) : "untitled") + ".html";
                if (await new Promise(fp.open) == fp.returnCancel) return;
                var tree = await pu.promiseBookmarksTree(pu.getConcreteItemGuid(node), {includeItemIds: true});
                tree.title = bm.getLocalizedTitle(tree);
                var bookmarks = {children: [
                    {root: "toolbarFolder"},
                    {root: "unfiledBookmarksFolder"},
                    {root: "bookmarksMenuFolder", children: [tree], guid: bm.menuGuid}
                ]};
                new this.exporter(bookmarks).exportToFile(fp.file.path);
            },
            observe(doc) {
                var popup = doc.querySelector("menupopup#placesContext");
                if (!popup) return;
                var menuitem = (doc.createXULElement || doc.createElement).call(doc, "menuitem");
                for(var args of Object.entries({
                    label: "Export folder to HTML",
                    selection: "folder",
                    "node-type": "folder",
                    "selection-type": "single|none",
                    id: "placesContext_exportFolder"				
                }))
    			
    			menuitem.setAttribute(...args);
                menuitem.exporter = this;
                menuitem.addEventListener('click', () => {
    					exporter.export(parentNode);
    					});			
                doc.getElementById("placesContext_openSeparator").before(menuitem);
    								
    
            }
        };
        Services.obs.addObserver(exporter, topic);
        Services.obs.addObserver(function quit(s, t) {
            Services.obs.removeObserver(quit, t);
            Services.obs.removeObserver(exporter, topic);
        }, "quit-application-granted");
    })("chrome-document-loaded");
    Alles anzeigen

    In Zeile 51 habe ich erst einmal parentNode belassen. Die Konsole sagt mir aber, dass parentNode nicht definiert ist. :/

  • Der Glückwunsch-Thread

    • milupo
    • 7. März 2025 um 10:52

    Hallo Endor Auch von mir alles Gute zu deinem Geburtstag und für die Zukunft.

  • Firefox v136.0 - Skript "export_folder_to_html.uc.js" funktioniert nicht mehr

    • milupo
    • 6. März 2025 um 22:52
    Zitat von Mira_Belle

    Das Dialogfenster von Windows zum Speichern der HTML-Datei kann ich irgendwie nicht aufrufen.

    Ich komme auch nicht weiter. Ob da überhaupt ein Speichern-Dialog kommt, weiß ich nicht. Ich habe lenny2 in Beitrag #7 schon Fragen gestellt, aber er hat bisher nicht geantwortet.

  • Firefox v136.0 - Skript "export_folder_to_html.uc.js" funktioniert nicht mehr

    • milupo
    • 6. März 2025 um 21:40
    Zitat von Mira_Belle

    Nicht die Lesezeichen, sondern die Ordner.

    Mach dir nichts draus, ich war auch erst auf dem falschen Dampfer. Ich nutze das Skript nämlich bisher nicht.

  • Firefox v136.0 - Skript "export_folder_to_html.uc.js" funktioniert nicht mehr

    • milupo
    • 6. März 2025 um 21:28

    Hast du Beitrag #2 eingearbeitet? Erst dann erscheint wieder der Eintrag. Aber leider bisher eben nur das.

    Hier das komplette Skript mit den Änderungen:

    JavaScript
    // export_folder_to_html.uc.js
    // Exports folder bookmarks to HTML file
    // Item "Export folder to HTML" in the context menu of the folder in “Manage Bookmarks” and Sidebar
    (async topic => {
        var imp = (m, n = m) => ChromeUtils.importESModule("resource://gre/modules/${m}.sys.mjs", {})[n];
        var exporter = {
            get dps() {
                delete this.dps;
                return this.dps = imp("DownloadPaths");
            },
            get exporter() {
                delete this.exporter;
                return this.exporter = imp("BookmarkHTMLUtils", "BookmarkExporter");
            },
            async export(popup) {
                var win = popup.ownerGlobal, tn = popup.triggerNode;
                var node, pu = win.PlacesUtils, bm = pu.bookmarks;
                if (tn.nodeName == "treechildren") node = popup._view.selectedNode;
                else if (tn.id == "OtherBookmarks")
                    node = {bookmarkGuid: bm.unfiledGuid, title: tn.getAttribute("label")};
                else node = tn._placesNode || popup._view.result.root;
                var fp = Cc["@mozilla.org/filepicker;1"].createInstance(Ci.nsIFilePicker);
                fp.init(win, win.PlacesUIUtils.promptLocalization.formatValueSync("places-bookmarks-export"), fp.modeSave);
                fp.appendFilters(fp.filterHTML);
                fp.defaultString = (node.title ? this.dps.sanitize(node.title) : "untitled") + ".html";
                if (await new Promise(fp.open) == fp.returnCancel) return;
                var tree = await pu.promiseBookmarksTree(pu.getConcreteItemGuid(node), {includeItemIds: true});
                tree.title = bm.getLocalizedTitle(tree);
                var bookmarks = {children: [
                    {root: "toolbarFolder"},
                    {root: "unfiledBookmarksFolder"},
                    {root: "bookmarksMenuFolder", children: [tree], guid: bm.menuGuid}
                ]};
                new this.exporter(bookmarks).exportToFile(fp.file.path);
            },
            observe(doc) {
                var popup = doc.querySelector("menupopup#placesContext");
                if (!popup) return;
                var menuitem = (doc.createXULElement || doc.createElement).call(doc, "menuitem");
                for(var args of Object.entries({
                    label: "Export folder to HTML",
                    selection: "folder",
                    "node-type": "folder",
                    "selection-type": "single|none",
                    id: "placesContext_exportFolder"				
                }))
    			
    			menuitem.setAttribute(...args);
                menuitem.exporter = this;
                menuitem.addEventListener('click', () => {
    					this.export(parentNode);
    					});			
                doc.getElementById("placesContext_openSeparator").before(menuitem);
    								
    
            }
        };
        Services.obs.addObserver(exporter, topic);
        Services.obs.addObserver(function quit(s, t) {
            Services.obs.removeObserver(quit, t);
            Services.obs.removeObserver(exporter, topic);
        }, "quit-application-granted");
    })("chrome-document-loaded");
    Alles anzeigen

    Hier noch ein Bildschirmfoto. Ist in Sorbisch, aber ich habe dort auf den Lesezeichen-Ordner Firefox-Hilfe in der Lesezeichen-Symbolleiste mit der rechten Maustaste geklickt.

  • Menüleiste verschwindet immer

    • milupo
    • 6. März 2025 um 21:10

    Ich habe mal das Changeset aus dem Bildschirmfoto aufgerufen. Vielleicht hilft es:

    mozilla-central @ d437146
    Merge autoland to mozilla-central. a=merge
    hg.mozilla.org
  • Firefox v136.0 - Skript "export_folder_to_html.uc.js" funktioniert nicht mehr

    • milupo
    • 6. März 2025 um 21:05
    Zitat von Mira_Belle

    In welchem Kontextmenü sollte welcher Eintrag erscheinen?

    Steht in Zeile 3. In den Lesezeichen der Sidebar und in denen der Bibliothek (Lesezeichen --> Lesezeichen verwalten). Dort auf einen Lesezeichen-Ordner mit der rechten Maustaste klicken, dann auf den Eintrag Export folder to HTML und dann werden die entsprechenden Lesezeichen als HTML-Datei gespeichert. Leider funktioniert das nicht mehr.

  • Tab mit Audioinhalt: Ist diese Darstellung normal oder ein nicht mehr richtig funktionierendes Script?

    • milupo
    • 6. März 2025 um 20:21
    Zitat von Mitleser

    Hast du was Besseres?

    Ich habe meine Meinung geschrieben. Es geht hier nicht um besser oder nicht besser. Es geht einfach um Übersichtlichkeit und Handhabbarkeit für den Nutzer. Wenn es ein Problem mit dem zugehörigen CSS gibt, muss man nicht erst ein Skript durchsuchen, sondern die entsprechende CSS-Datei. Außerdem ist zusätzlicher Code immer eine Fehlerquelle, zumal das kein JavaScript-Code ist. Nun gut, ich habe mich nicht strikt gegen CSS in JavaScript ausgesprochen, aber einem Nutzer, der sich mit Skripten und kaum mit CSS auskennt zu sagen, er solle das CSS einfach in das Skript übernehmen, ist die Übernahme für dich einfach, aber nicht für den Nutzer.

  • Tab mit Audioinhalt: Ist diese Darstellung normal oder ein nicht mehr richtig funktionierendes Script?

    • milupo
    • 6. März 2025 um 20:09
    Zitat von 2002Andreas

    Welchen Nachteil könnte das denn dann haben?

    Wie gesagt, ich halte es für unübersichtlicher. Was ist, wenn das Skript nicht mehr funktioniert, du musst dann auch den CSS-Code durchgehen. Und für jemanden, der von Skripten keine Ahnung hat, ist das nicht einfacher, das einzubauen. Der kann dann wieder nur komplette Skripts übernehmen.

    Und ich könnte mir auch vorstellen, dass das Skript dann langsamer geladen wird.

  • Tab mit Audioinhalt: Ist diese Darstellung normal oder ein nicht mehr richtig funktionierendes Script?

    • milupo
    • 6. März 2025 um 19:52
    Zitat von Mitleser

    Verstehe ich nicht, mach es einfach besser! Klug******!!

    Ich meine damit, dass man CSS nur in begrenztem Maße in ein Skript einbauen sollte. Dann besser eine eigene CSS-Datei mit dem gleichen Namen wie das Skript, damit man weiß, dass die Dateien zusammengehören. Also bitte nichts mit Klug******!

  • Tab mit Audioinhalt: Ist diese Darstellung normal oder ein nicht mehr richtig funktionierendes Script?

    • milupo
    • 6. März 2025 um 19:32
    Zitat von Mitleser

    setze doch das css einfach in eine .uc.js, ungefähr so

    Von wegen einfach. Das ist doch viel zu unübersichtlich inmitten des ganzen JavaScript-Codes.

  • Menüleiste verschwindet immer

    • milupo
    • 6. März 2025 um 19:30
    Zitat von Tropper

    Habe erst einaml ein Downgrade gemacht.

    Keine gute Idee. Aus Sicherheitsgründen. Es ist doch nicht so, dass du ab Fx 135 auf die Menüleiste verzichten müsstest.

    Ich habe diesen Hilfeartikel gefunden:

    Wiederherstellen der ausgeblendeten Firefox-Menüleiste | Hilfe zu Firefox

    Demnach könnte es sein, dass du dich im Problemfalle im Vollbildmodus befindest oder Firefox nicht die ausgewählte Anwendung ist (was auch immer das heißt, ich bin Windows-Nutzer).

  • Firefox v136.0 - Skript "export_folder_to_html.uc.js" funktioniert nicht mehr

    • milupo
    • 6. März 2025 um 19:21

    Ich verwende das skript nicht. Wie äußert sich denn der Erfolg? Kommt ein Speichern-Dialog? Wohin wird gespeichert? Unter welchem Namen?

Unterstütze uns!

Jährlich (2025)

92,9 %

92,9% (604,17 von 650 EUR)

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