Script Speichern in für Fx 78 wieder anpassen

  • Ich habe Heute eine Excel Datei gespeichert und Excel wurde geöffnet, nach beenden von Firefox wurde die Datei gelöscht.

    Tatsächlich, das Dateiformat hatte ich nicht probiert, ist hier genauso.

    Normaler Download: Datei wird nicht geöffnet und bleibt erhalten, Download per Skript: Datei wird gleich geöffnet und wird nach dem Schließen von Firefox gelöscht.

    Mit einem Word-Dokument passiert das nicht.

    In den Fx-Einstellungen steht bei beiden Dateitypen "jedes Mal nachfragen".

    In der handlers.json sind beide Einträge (fast) identisch:

    "application/vnd.ms-excel":{"action":0,"ask":true,"extensions":["xls"]}

    "application/msword":{"action":0,"ask":true,"extensions":["doc"]}

    (application/vnd.ms-excel oder application/msexcel entsprechend dem Eintrag für DOC-Dateien macht keinen Unterschied.)

    Der Fix für PDF-Dateien scheint keine Auswirkung auf andere Dateien zu haben. :(

    Einmal editiert, zuletzt von bege (14. Juni 2021 um 13:56)

  • Testet mal bitte:

  • Testet mal bitte:

    Vielen Dank! Wie schon 2002Andreas geschrieben hat:

    Der Download mogelt sich irgendwie an den Firefox-Downloads vorbei: Er ist weder in der Download-Chronik zu sehen noch kann man während des Downloads den Fortschritt erkennen. Auch das Skript, das einen Ton abspielt, wenn der Download beendet ist, reagiert nicht.

    Aber die Dateien (wie vorher getestet mit PDF und XLS) bleiben nach einem Neustart erhalten.

    Ich hatte vorher nochmal das alte Skript getestet, das bei mir ja mit dem Fix der handlers.json die Dateien nicht mehr gelöscht hat. Aber jetzt wurden die Dateien auch damit wieder gelöscht.

    Bei diesem Eintrag  "application/pdf":{"action":0,"ask":true,"extensions":["pdf"],"handlers":[{"name":"firefox.exe","path":"C:\\Program Files\\Mozilla Firefox\\firefox.exe"}]}, stand statt ["action":0, wieder "action":3,, keine Ahnung ob durch ein zwischenzeitliches Fx-Update oder eine eigene Einstellung.


    Noch zwei Fragen:

    1. Ich habe eine sehr lange Liste von Ordnern, deshalb wird an den Enden der Liste ein Pfeil zum Skrollen angezeigt, dabei wird in der neuen Skriptversion der letzte Eintrag nicht angezeigt, sondern verschwindet unter dem unteren Pfeil. Lässt sich das ändern?
    2. Mit diesen Einträgen funktioniert das neue Skript nicht:
    Code
    ["" + FileUtils.getDir('UChrm', []).path + "", "chrome"],
    ["" + FileUtils.getDir('UChrm', ['CSS']).path + "", "CSS"],
    ["" + FileUtils.getDir('UChrm', ['JS']).path + "", "JS"],

    Wie muss ich diese Einträge ändern, dass sie wieder funktionieren?

    4 Mal editiert, zuletzt von bege (30. Juni 2021 um 13:52)

  • Testet mal bitte:

    Danke, mit PDF funktioniert es.

    das Downloadfenster ist mir eigentlich egal. wichtig sind die PDF für mich ;)

  • Mit diesen Einträgen funktioniert das neue Skript nicht:

    Code
    ["" + FileUtils.getDir('UChrm', []).path + "", "chrome"],
    ["" + FileUtils.getDir('UChrm', ['CSS']).path + "", "CSS"],
    ["" + FileUtils.getDir('UChrm', ['JS']).path + "", "JS"],

    Füge die Anweisung

    Cu.import('resource://gre/modules/FileUtils.jsm');

    zu den anderen Import-Anweisungen (Zeilen 10 - 12) wieder hinzu. Ich hatte sie entfernt, weil die FileUtils-Funktionen sonst nicht gebraucht werden.

    Oder ersetze die Einträge durch

    JavaScript
    [OS.Path.join(OS.Constants.Path.profileDir, 'chrome'), "chrome"],
    [OS.Path.join(OS.Constants.Path.profileDir, 'chrome', 'CSS'), "CSS"],
    [OS.Path.join(OS.Constants.Path.profileDir, 'chrome', 'JS'), "JS"],

    Ich habe eine sehr lange Liste von Ordnern, deshalb wird an den Enden der Liste ein Pfeil zum Skrollen angezeigt, dabei wird in der neuen Skriptversion der letzte Eintrag nicht angezeigt, sondern verschwindet unter dem unteren Pfeil.

    Das geschieht bei mir manchmal; wenn ich den Mauszeiger etwas auf und ab bewege, wird der Eintrag sichtbar. Ich habe im Skript an dem Teil, der das Menüpopup betrifft, nichts verändert.

    Der Download mogelt sich irgendwie an den Firefox-Downloads vorbei: Er ist weder in der Download-Chronik zu sehen noch kann man während des Downloads den Fortschritt erkennen. Auch das Skript, das einen Ton abspielt, wenn der Download beendet ist, reagiert nicht.

    Wenn man diesen Teil (ab Zeile 68) :

    JavaScript
            Downloads.createDownload({
              source: dialog.mLauncher.source.spec,
              target: OS.Path.join(dir, dialog.mLauncher.suggestedFileName)
            }).then(dlObj => dlObj.start());

    durch folgenden Code ersetzt, ändert sich dann etwas?

    JavaScript
            Downloads.fetch(
              dialog.mLauncher.source.spec,
              OS.Path.join(dir, dialog.mLauncher.suggestedFileName)
            );

    Dokumentation für Downloads (falls ihr euer Glück selbst versuchen wollt ;) ) :

    MDN - Downloads.jsm

    MDN - Download

    Einmal editiert, zuletzt von aborix (2. Juli 2021 um 10:58)

  • Mit diesen Einträgen funktioniert das neue Skript nicht:

    Code
    ["" + FileUtils.getDir('UChrm', []).path + "", "chrome"],
    ["" + FileUtils.getDir('UChrm', ['CSS']).path + "", "CSS"],
    ["" + FileUtils.getDir('UChrm', ['JS']).path + "", "JS"],

    Füge die Anweisung

    Cu.import('resource://gre/modules/FileUtils.jsm');

    zu den anderen Import-Anweisungen (Zeilen 10 - 12) wieder hinzu. Ich hatte sie entfernt, weil die FileUtils-Funktionen sonst nicht gebraucht werden.

    Oder ersetze die Einträge durch

    JavaScript
    [OS.Path.join(OS.Constants.Path.profileDir, 'chrome'), "chrome"],
    [OS.Path.join(OS.Constants.Path.profileDir, 'chrome', 'CSS'), "CSS"],
    [OS.Path.join(OS.Constants.Path.profileDir, 'chrome', 'JS'), "JS"],

    :thumbup: Danke.

    Der Download mogelt sich irgendwie an den Firefox-Downloads vorbei: Er ist weder in der Download-Chronik zu sehen noch kann man während des Downloads den Fortschritt erkennen. Auch das Skript, das einen Ton abspielt, wenn der Download beendet ist, reagiert nicht.

    Wenn man diesen Teil (ab Zeile 68) :

    JavaScript
            Downloads.createDownload({
              source: dialog.mLauncher.source.spec,
              target: OS.Path.join(dir, dialog.mLauncher.suggestedFileName)
            }).then(dlObj => dlObj.start());

    durch folgenden Code ersetzt, ändert sich dann etwas?

    JavaScript
            Downloads.fetch(
              dialog.mLauncher.source.spec,
              OS.Path.join(dir, dialog.mLauncher.suggestedFileName)
            );

    Das ändert leider nichts.

  • bege

    Im Moment habe ich mit dem Script (Änderungen von aborix eingearbeitet) keine Probleme, alle Dateien werden abgespeichert, wie vorgegeben. Wenn du Interesse hast, so sag an, dann stelle ich es hier rein, zusätzlich die *.json-Datei zum Test.

    Grüße vom FuchsFan

  • FuchsFan

    Gespeichert werden die Dateien bei mir auch, wie in #104 bestätigt. Es geht um Folgendes:

    Der Download mogelt sich irgendwie an den Firefox-Downloads vorbei: Er ist weder in der Download-Chronik zu sehen noch kann man während des Downloads den Fortschritt erkennen. Auch das Skript, das einen Ton abspielt, wenn der Download beendet ist, reagiert nicht.

    Dadurch muss man die heruntergeladenen Dateien aus einem Dateimanager öffnen und kann es nicht aus der Fx-Downloadchronik heraus, außerdem wird das Ende eines Downloads nicht angezeigt.

  • außerdem wird das Ende eines Downloads nicht angezeigt.

    Bisher hatte ich einen Code der den Downloadpfeil rot einfärbte, wenn aktiv. Der funktioniert nicht mehr, dafür erscheint neuerdings eine Uhr beim Download.

    und kann es nicht aus der Fx-Downloadchronik heraus

    Ist der Download beendet (habe jetzt extra zwei Dateien genommen), so gehe ich auf "Alle Downloads anzeigen".

    Und aus der Chronik heraus kann ich jede Datei öffnen, mit dem verknüpfen Programm wie vorgesehen.

    Keine Probleme, oder meinst du noch etwas anderes?

    Grüße vom FuchsFan

  • Jetzt wird's ganz verrückt:

    Normale PDF-Downloads funktionieren mit den genannten Einschränkungen, aber statt Kontoauszügen im Online-Banking bekomme ich das hier:

    camp-firefox.de/attachment/31508/

    Normal statt mit dem Skript heruntergeladen bekomme ich den korrekten Kontoauszug.


    Edit:

    Nach einigen Tests sieht es doch einfacher aus als gedacht:

    Bei mir macht das Skript mit einem Dateityp das, was ich vorher mit dem normalen Fx-Download-Dialog mit dem Dateityp gemacht habe.

    • Speichere ich eine Datei, tut das auch das Skript, ohne sie anzuzeigen und sie wird nicht gelöscht nach einem Neustart.
    • Lasse ich die Datei mit Firefox oder einem anderen Programm anzeigen, zeigt auch das Skript die Datei nach dem Download an und sie wird nach einem Neustart gelöscht.

    Entsprechend ändert Fx die handlers.json.

    Da macht die Skriptversion keinen Unterschied, es funktioniert auch die von BrokenHeart aus #18.

    aborix Lässt sich das Skript so ändern, dass es sich nicht nach der handlers.json richtet, sondern Dateien immer nur herunterlädt, sodass sie nach einem Neustart nicht gelöscht werden?

    5 Mal editiert, zuletzt von bege (3. Juli 2021 um 04:31)

  • Hallo,

    zum eigentlichen Problem kann ich leider nichts Erhellendes beitragen, aber eine Frage hätte ich doch dazu:

    Was ist speziell unter Win10 der Vorteil dieses Skripts?

    Das Gleiche kann ich doch auch erreichen, wenn ich den angepassten Schnellzugriff von Windows benutze. Dann stehen mir doch in jedem Download-Dialog systemweit meine vorher ausgewählten Verzeichnisse in der Ordnerleiste mit einem Klick zur Verfügung.

    Was anderes macht das Skript doch auch nicht, oder übersehe ich da irgendwas? :/

  • Hallo,

    zum eigentlichen Problem kann ich leider nichts Erhellendes beitragen, aber eine Frage hätte ich doch dazu:

    Was ist speziell unter Win10 der Vorteil dieses Skripts?

    Das Gleiche kann ich doch auch erreichen, wenn ich den angepassten Schnellzugriff von Windows benutze. Dann stehen mir doch in jedem Download-Dialog systemweit meine vorher ausgewählten Verzeichnisse in der Ordnerleiste mit einem Klick zur Verfügung.

    Was anderes macht das Skript doch auch nicht, oder übersehe ich da irgendwas? :/

    Im Prinzip hast du recht. Ich benutze das Skript aus zwei Gründen:

    - Meine Download-Ordner (hauptsächlich Setups und Kontoauszüge) brauche ich meist nur für den Download, die Setups starte ich gleich nach dem Download aus dem Fx und brauche sie später nur noch für evtl. Neuinstallationen, die Kontoauszüge nur zum Abspeichern. Die Dateien, die ich systemweit regelmäßig öffne liegen in anderen Ordnern. Ich brauche also unterschiedliche Ordner für Downloads im Fx und als Schnellzugriffe im Explorer.

    - Ich kann trotz aller Tipps, wie man das Problem beheben kann, schon lange keine Ordnern mehr zu den Schnellzugriffen hinzufügen oder dort entfernen.

  • Es gibt einen about:config-Eintrag browser.helperApps.deleteTempFileOnExit :!:

    Hier dürfte der Hund begraben liegen!

    Großartig! :thumbup: Dankeschön!

    Mit der Version von BrokenHeart aus #18 funktioniert es bei mir jetzt nachvollziehbar wie z.T. schon geschrieben:

    • Das Skript reagiert je nach Dateityp so wie der letzte Download mit dem Standarddialog:
      • wurde ein Download vorher angezeigt (Firefox oder anderes Programm), so wir die Datei auch nach dem Download mit dem Skript entsprechend angezeigt.
      • wurde ein Download vorher nur gespeichert, wird die Datei auch mit dem Skript nur gespeichert und nicht angezeigt.
    • Auch die Downloads mit dem Skript werden im Download-Manager angezeigt.
    • Die Dateien werden, egal wie sie heruntergeladen wurden, nicht gelöscht. Da ich den Temp-Ordner regelmäßig beim herunterfahren des Computers bereinige, ist mir das recht.

    Für mich sieht das Problem gelöst aus. Ich hoffe, es findet nicht noch jemand einen Haken. :D

  • Hallo,

    kann es sein das das Script nicht mehr richtig funktioniert ?

    verwende folgendes

    so speichere ich meine Kontoauszüge


    ergebnis der PDF inhaltes ?


    Firefox 90.0.2 (64-Bit) und Windows 10 Pro

  • kann es sein das das Script nicht mehr richtig funktioniert ?

    Teste doch bitte mal: