Ich vermute mal, dass man das Leerzeichen mit einem „\” auch escapen kann, genau wie es beim Backslash als Verzeichnis-Trenner ja auch bereits getan wird.
Script saveTo.uc.js / im Popup werden die Icon nicht mehr angezeigt
-
FuchsFan -
18. September 2025 um 18:54 -
Erledigt
-
-
Nur das Backslash in den Namen einfügen?
-
-
Im Script. Dort wird doch schon Gebrauch vom Escaping gemacht (\\ statt einfach nur \).
['D:\\DownloadFirefox','Download Firefox']
Gleiches Prinzip für Leerzeichen angewendet:
['D:\\Download\ Firefox','Download Firefox']
Ich habs nicht getestet, aber einen Versuch wäre es wert.
-
Ich habs nicht getestet, aber einen Versuch wäre es wert.
Ich aber - dann funktioniert das ganze Skript nicht mehr...
-
dann funktioniert das ganze Skript nicht mehr...
Das funktioniert hier schon, aber ein Icon wird nicht angezeigt.
-
Also auf jeden Fall nicht die Lösung für das eigentliche Problem...
-
nicht die Lösung für das eigentliche Problem...
Das muss aber etwas neues sein
In Fx 128 z.B. funktioniert das noch mit Leerzeichen:
-
Wie gesagt, schaut in den Inspector, nicht die Konsole ;), in den Browser-Werkzeugen, was dort als Pfad zu sehen ist.
-
In Fx 128 z.B. funktioniert das noch mit Leerzeichen:
Wenn ich mich recht erinnere, geht das seit 143 nicht mehr...
-
geht das seit 143 nicht mehr...
Das weiß ich nicht, da ich das Skript nicht nutze, ist aber durchaus möglich.
Sonst wäre Fuchsfan das wohl schon eher aufgefallen.
-
Und mit %20? Oder  ? Oder \u0020
-
Neues Profil, ohne Anpassungen:
Es ist ja nicht wie bei armen Leuten
, Profile gibt es in allen Versionen genügend, aber das Problem tritt überall auf.
Ich verstehe nur nicht, wieso mit meinem Win11, und bei euch nicht. Das muss eine Ursache hier haben, die ich wohl nicht herausfinden werde.
So funktioniert es auch:
Alles probiert, ohne Erfolg.
Sonst wäre Fuchsfan das wohl schon eher aufgefallen.
Das stimmt Andreas, mit den Versionen Beta und Nightly führe ich keine Downloads aus, nur mit meinem Arbeitsfox.
-
Wie gesagt, schaut in den Inspector, nicht die Konsole ;), in den Browser-Werkzeugen, was dort als Pfad zu sehen ist.
Was das „wie gesagt“ betrifft: Du hast bislang nur von den „Browser-Werkzeugen“ geschrieben, die ein Überbegriff für alle Werkzeuge sind und nicht speziell den Inspektor meinen. Und die „Browser-Werkzeuge“ öffnen auch nicht standardmäßig den Inspektor, sondern das zuletzt benutzte Werkzeug. Vermutlich kam deswegen bisher nicht an, dass du den Inspektor meintest.
-
Bitte
Ist image und srcset so richtig?
Also Firefox kann moz-icon:file:///d://Download Firefox/ anzeigen, macht aber moz-icon:file:///d://Download%20Firefox/?size=16 draus.
Was ich oben vermutet hatte
['D:\\Download%20Firefox', 'Download Firefox'],
Hat nur ein Problem, der Ordner heisst dann auch so: D:\Download%20Firefox\
irgendwo muss dann ein dir.replaceAll rein, allerdings funktioniert das genau so nicht damit.
-
- Hilfreichste Antwort
Code
Alles anzeigendirArray.forEach(item => { let [name, dir] = [item[1], item[0]]; let dir1 = dir.replaceAll(' ', '%20'); saveToMenu.appendChild(createEl(document, "menuitem", { label: name || (dir.match(/[^\\/]+$/) || [dir])[0], dir: dir, dir1: dir1, image: "moz-icon:file:///" + dir1 + "\\", class: "menuitem-iconic", onclick: function() { let dir = this.getAttribute('dir'); let locationtext = document.getElementById('locationtext'); let file = new FileUtils.File(dir + '\\' + (locationtext ? locationtext.value : document.getElementById('location').value)); dialog.mLauncher.saveDestinationAvailable(file); dialog.onCancel = function() {}; close(); } })); })
-
-
Code
Alles anzeigendirArray.forEach(item => { let [name, dir] = [item[1], item[0]]; let dir1 = dir.replaceAll(' ', '%20'); saveToMenu.appendChild(createEl(document, "menuitem", { label: name || (dir.match(/[^\\/]+$/) || [dir])[0], dir: dir, dir1: dir1, image: "moz-icon:file:///" + dir1 + "\\", class: "menuitem-iconic", onclick: function() { let dir = this.getAttribute('dir'); let locationtext = document.getElementById('locationtext'); let file = new FileUtils.File(dir + '\\' + (locationtext ? locationtext.value : document.getElementById('location').value)); dialog.mLauncher.saveDestinationAvailable(file); dialog.onCancel = function() {}; close(); } })); })
Ich bedanke mich ganz herzlich bei dir, das ist die Lösung.
-
Und ich danke für das Übungsobjekt. Ich hab dennoch kaum Ahnung von Javascript, und das hier war eigentlich nur ein kosmetisches Problem, das ist noch einfacher zu lösen. Was hab ich? Was soll es sein? Was macht Firefox? Ist das überhaupt richtig? Und im vorherigen Beitrag ist halbwegs ein Lösungsweg zu erkennen. Dann wusste ich, was ich benötige, nur der Ort brauchte etliche Anläufe, das replaceall kann nur dort stehen, und braucht eine eigene Variable. Und die Konsole hat mir stets gezeigt, was nicht ging
Wenn es immer nur so einfach wäre.
-