Keine Ursache. Gern geschehen.
Wenn du es nicht findest, vielleicht kann 2002Andreas dir helfen, er nutzt auch Windows 11.
Keine Ursache. Gern geschehen.
Wenn du es nicht findest, vielleicht kann 2002Andreas dir helfen, er nutzt auch Windows 11.
Ich nutze noch Windows 10. Da kann man in die PC-Einstellungen (nicht die Systemsteuerung) gehen, auf Personalisierung und dort links auf Taskleiste. Dort steht unten ein Eintrag Schaltflächen der Taskleiste gruppieren. Wähle dort Immer, Beschriftungen ausblenden. Dann hast du nur die Symbole unten.
Du müsstest jetzt nur herausfinden, wo das bei Windows 11 ist.
Bratwürstchen, passe bitte auf, dass du nicht in den Zitatkasten hinein antwortest. Außerdem brauchst du nur das zitieren, auf das du dich beziehen willst. Einfach den entsprechenden Text markieren, dann erscheinen zwei Optionen: Zitat speichern und Zitat kopieren. Klicke auf Zitat kopieren und der Text wird dann in dein Antwortfenster eingefügt.
ich sehe nicht durch wie man das sieht naja egal.. lol...
Meinst du dich selbst? Dann über Extras --> Über Firefox. Meinst du, warum Andreas das sehen kann? Er ist Moderator. Moderatoren und Administratoren können das sehen. Normale Forumsmitglieder nicht. Ich bin ein normales Forumsmitglied, ich kann das nicht sehen.
Bei .tab-icon-overlay fehlt die öffnende geschweifte Klammer.
ist doch auf true, wie oben zu sehen ist
Du hattest das geschrieben, als ich meinen Beitrag schrieb. Inzwischen kam ein Beitrag von Andreas und von dir.
was in der css ist
Was meinst du mit „in der css“? CSS-Codes müssen in der userChrome.css sein, die sich im Ordner chrome deines Benutzerprofiles befinden muss. Wenn du bisher noch nie CSS genutzt hast, musst du außerdem about:config in die Adressleiste eingeben, nach der Einstellung toolkit.legacyUserProfileCustomizations.stylesheets suchen und deren Wert per Doppelklick auf true setzen.
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:
So wie ich das verstehe, wird hier ein Objekt für den Export von Lesezeichen in eine Datei geschaffen.
Und dann:
Damit sollte der Export der Lesezeichen erfolgen. Was aber nicht geschieht.
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.
Schön, dass du es selbst herausfinden konntest.
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?
Meine Version ist diese:
// 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.
Hallo Endor Auch von mir alles Gute zu deinem Geburtstag und für die Zukunft.
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.