Ausführen wenn Firefox geschlossen wird

Hier geht es um Fragen und Probleme mit Themes und Erweiterungen für den Firefox.
Theraten
Mitglied
Beiträge: 73
Registriert: Mo, 11. Jul 2016 14:54

Ausführen wenn Firefox geschlossen wird

#1

Beitrag von Theraten Themen-Starter » Di, 12. Jun 2018 20:47

Hallo zusammen,

Gibt es eine Möglichkeit ein *.bat, *.cmd oder *.vbs file automatisch auszuführen, nachdem Firefox geschlossen wurde? Hintergrund ist, das ich mit den beiden about:config parametern browser.bookmarks.file und browser.bookmarks.autoExportHTML beim Schließen von Firefox automatisch einen Export der Bookmarks erstelle. Nun würde ich gerne im Anschluss diese Datei weiter verarbeiten. Kennt ihr dazu irgendeine Möglichkeit?

Alternativ könnte ich mir vorstellen, das ich mir eventuell eine Extension erstelle, die direkt auf eine Art onClose Event reagiert und dann die Bookmarks als HTML Datei exportiert. Gibt es einen solchen Event/Trigger? Kann ich mit einer Extension eine Datei via WebDAV auf einen Server hochladen? Ich habe in der Dokumentation nichts zu WebDAV finden können.

Benutzeravatar
DAUFahnder
Mitglied
Beiträge: 96
Registriert: So, 27. Mai 2018 4:02

Re: Ausführen wenn Firefox geschlossen wird

#2

Beitrag von DAUFahnder » Di, 12. Jun 2018 22:58

Das einfachste wäre vermutlich, den Firefox über eine Batch zu starten. Z.B. so:

start /wait [Pfad]\firefox.exe

Damit wartet die Batch auf das Beenden des Firefox und führt dann erst nachfolgende Befehle aus. Du könntest also nach dem Beenden von Firefox automatisch das nachfolgende Programm mit den Bookmarks füttern.
Greetz,
DF

Theraten
Mitglied
Beiträge: 73
Registriert: Mo, 11. Jul 2016 14:54

Re: Ausführen wenn Firefox geschlossen wird

#3

Beitrag von Theraten Themen-Starter » Mi, 13. Jun 2018 9:22

Die Möglichkeit Firefox über eine Batch zu starten habe ich aktuell in Benutzung. Das ist aber recht unschön, da man dabei immer das zusätzliche Fenster der CMD-Line offen hat. Ein VBS Script habe ich auch bereits versucht. Hier kann ich zumindest das Fenster verbergen aber auch das ist halt nur ein Workaround der eher unschön ist.

Mittlerweile wäre mir eine Extension fast lieber. Allerdings werde ich bisher noch nicht aus der Doku schlau, wie ich das Firefox "Schließen" Event sauber abfangen kann. Ich habe bisher nur etwas gefunden, wo ich schließende Tabs auswerten kann aber nicht den kompletten Browser.

Benutzeravatar
AngelOfDarkness
Senior-Mitglied
Beiträge: 16949
Registriert: Di, 20. Jul 2004 20:01
Wohnort: Menden

Re: Ausführen wenn Firefox geschlossen wird

#4

Beitrag von AngelOfDarkness » Mi, 13. Jun 2018 9:57

Versuche es mal die Befehle in eine *.cmd-Datei zu legen, anstatt in eine batch. Diese Datei startest du dann mit dem Befehl

start /min deineDatei.cmd
verwendete Browser und Erweiterungen sowie Bild vom Firefox (Stand: 13.10.2018) - Sicherheitskonzept für Windowsnutzer

„Mutter ist der Name für Gott, auf den Lippen und in den Herzen aller Kinder dieser Welt.“ (The Crow)

Theraten
Mitglied
Beiträge: 73
Registriert: Mo, 11. Jul 2016 14:54

Re: Ausführen wenn Firefox geschlossen wird

#5

Beitrag von Theraten Themen-Starter » Mi, 13. Jun 2018 10:10

Ich hab das jetzt nicht probiert aber startet das nicht ebenfalls ein "DOS"-Fenster aber minimiert es nur? Dann wäre immer noch der Button in der Taskleiste zu sehen. Ich möchte vom "Drumherum" aber rein gar nichts sehen, das soll total versteckt sein. Maximal in der Prozessliste kann das Ding meinetwegen auftauchen.

Ich bin nebenher am Erstellen einer WebExtension. Das hab ich aber noch nie gemacht. Kann also dauern. Ich hangele mich gerade an der Doku von Mozilla entlang. Vielleicht schaff ich es ja. Wenn ja, seid ihr die ersten, die davon erfahren.

Benutzeravatar
AngelOfDarkness
Senior-Mitglied
Beiträge: 16949
Registriert: Di, 20. Jul 2004 20:01
Wohnort: Menden

Re: Ausführen wenn Firefox geschlossen wird

#6

Beitrag von AngelOfDarkness » Mi, 13. Jun 2018 10:41

Normalerweise lässt Windows das komplette Verstecken einer Anwendung oder einer Shell nicht zu. In der Taskleiste sollte das Ding immer zu sehen sein. Dies hat Sicherheitsgründe, damit kein Programm unbemerkt werkeln kann.
verwendete Browser und Erweiterungen sowie Bild vom Firefox (Stand: 13.10.2018) - Sicherheitskonzept für Windowsnutzer

„Mutter ist der Name für Gott, auf den Lippen und in den Herzen aller Kinder dieser Welt.“ (The Crow)

Theraten
Mitglied
Beiträge: 73
Registriert: Mo, 11. Jul 2016 14:54

Re: Ausführen wenn Firefox geschlossen wird

#7

Beitrag von Theraten Themen-Starter » Mi, 13. Jun 2018 10:54

Verstehe. Zumindest letzteres kann ich mit einem VBS Script umgehen. Ist aber eher umständlich für meine Zwecke.

Wie auch immer. Mit der Extension bin ich etwas weiter gekommen. Aktuell schreibt diese bei klick auf den Toolbar Button eine Datei auf ein WebDAV Share. Den automatischen Event versuche ich später mal noch zu finden. Mein größtes Problem ist aktuell "permissions" in der manifest.json. Wenn ich das richtig verstanden habe, muss dort auch der URL stehen, wohin ich die Datei übertragen möchte. Ich kann zwar für meine privaten Zwecke dort einen URL hardcodieren. Das macht aber wenig Sinn, wenn ich die Extension später veröffentlichen möchte. Ich wollte aber auch die Angabe von "<all_urls>" vermeiden. Gibt es irgendwie die Möglichkeit einen bestimmten URL dynamisch dort einzutragen?

EffPeh
Senior-Mitglied
Beiträge: 1573
Registriert: Mi, 04. Okt 2017 10:22

Re: Ausführen wenn Firefox geschlossen wird

#8

Beitrag von EffPeh » Mi, 13. Jun 2018 11:40

Theraten hat geschrieben:
Mi, 13. Jun 2018 10:54
[...]Gibt es irgendwie die Möglichkeit einen bestimmten URL dynamisch dort einzutragen?
Ich bin selbst Extension-Anfänger und kann dazu also nichts mit Sicherheit sagen, aber ich würde eventuell damit arbeiten:

https://developer.mozilla.org/en-US/Add ... h_patterns

Oder Sören fragen... :P
Windows 10 | FF 62.0 (64-Bit) / FF 61.0 (64-Bit) / FF 63.0 (64-Bit)

Theraten
Mitglied
Beiträge: 73
Registriert: Mo, 11. Jul 2016 14:54

Re: Ausführen wenn Firefox geschlossen wird

#9

Beitrag von Theraten Themen-Starter » Mi, 13. Jun 2018 11:46

Vielleicht liest Sören ja mit :-) Macht er ja eigentlich fast immer :-) Anbei mal meine Vorstellung:

Es wird eine Seite mit Optionen geben (existiert im Moment noch nicht, ist aber geplant). Dort trägt der geneigte User URL, Benutzername, Passwort und andere Optionen ein und speichert diese. Dieser eingetragene URL soll der URL sein, der dann als einziger unter "permissions" erlaubt ist. Alternativ habe ich jetzt erst mal "<all_urls>"", gegen "*://*/*", getauscht, damit ist nicht mehr ganz so viel erlaubt wie mit mit <all_urls>".

Aktuell bin ich grad am erstellen des JSON Format's für den Export. Das erstellen und der Upload der Datei klappen bereits.

EffPeh
Senior-Mitglied
Beiträge: 1573
Registriert: Mi, 04. Okt 2017 10:22

Re: Ausführen wenn Firefox geschlossen wird

#10

Beitrag von EffPeh » Mi, 13. Jun 2018 11:56

Theraten hat geschrieben:
Mi, 13. Jun 2018 11:46
[...]
Die manifest.json muss ja bereits bestehen und kann meines Wissens nach nicht willkürlich on-the-fly geändert werden.
Aber es gibt optionale permissions, die praktisch erst bei Bedarf abgefragt werden. Eventuell wäre das eine Möglichkeit.
Windows 10 | FF 62.0 (64-Bit) / FF 61.0 (64-Bit) / FF 63.0 (64-Bit)

Benutzeravatar
Sören Hentzschel
Administrator
Beiträge: 18432
Registriert: Mi, 23. Nov 2011 0:39
Wohnort: Salzburg
Kontaktdaten:

Re: Ausführen wenn Firefox geschlossen wird

#11

Beitrag von Sören Hentzschel » Mi, 13. Jun 2018 12:30

Auch optionale Berechtigungen müssen im Manifest eingetragen werden, das funktioniert nicht zur Laufzeit. Wenn potenziell jede Seite dort stehen kann, muss die Berechtigung für alle URLs abgefragt werden (ob nun über "<all_urls>" oder "*://*/*", das führt beides zum Ziel). Das lässt sich nicht vermeiden.


Meine Beiträge zum Firefox-Quellcode (4 Beiträge; Letzter Beitrag: 05.09.2018)

Theraten
Mitglied
Beiträge: 73
Registriert: Mo, 11. Jul 2016 14:54

Re: Ausführen wenn Firefox geschlossen wird

#12

Beitrag von Theraten Themen-Starter » Mi, 13. Jun 2018 12:37

OK. Also habe ich keine andere Wahl. War halt nur so eine Idee, um Privacy Bedenken potentieller User von vornherein einzudämmen. Ich will ja nicht alle möglichen Daten haben. Aber wenn's nicht anders geht, dann tu ich das eben so. Danke schon mal für die Info.

BTW: Kennst du eventuell eine Methode um das "Schließen" Event abzufragen? Aktuell habe ich den Export als Eventlistener auf einem Toolbar Button liegen, würde das aber lieber exportieren, sobald oder kurz bevor der Browser geschlossen wird. Optional kann der Button ja dennoch bleiben.

Benutzeravatar
Sören Hentzschel
Administrator
Beiträge: 18432
Registriert: Mi, 23. Nov 2011 0:39
Wohnort: Salzburg
Kontaktdaten:

Re: Ausführen wenn Firefox geschlossen wird

#13

Beitrag von Sören Hentzschel » Mi, 13. Jun 2018 12:48

Es gibt kein Event für WebExtensions, um etwas auszuführen, wenn Firefox beendet werden soll, und ich bezweifle, dass Mozilla das jemals einführen wird. Das könnte echt Probleme verursachen. Chrome besitzt ein solches Event ebenfalls nicht, was die Wahrscheinlichkeit nicht vergrößert. Theoretisch wäre es zwar möglich, auf das letzte geschlossene Fenster zu schauen, aber du hast keine Garantie, dass dein Code ausgeführt wird. Wenn Firefox den Befehl erhält, beendet zu werden, wird Firefox beendet, ohne auf Erweiterungen zu warten.


Meine Beiträge zum Firefox-Quellcode (4 Beiträge; Letzter Beitrag: 05.09.2018)

Theraten
Mitglied
Beiträge: 73
Registriert: Mo, 11. Jul 2016 14:54

Re: Ausführen wenn Firefox geschlossen wird

#14

Beitrag von Theraten Themen-Starter » Mi, 13. Jun 2018 12:57

Das ist... grrr... ich verstehe das Problem dahinter, dann könnte eine Extension das Schließen vom Firefox verhindern oder halt, wenn sie unsauber programmiert ist, zu einem Status bringen der von der Mainapplikation nicht mehr kontrollierbar ist. Dann mach ich das anders. Dann exportiere ich die Bookmarks immer dann wenn ein Bookmark hinzugefügt, gelöscht oder geändert wurde. Dafür habe ich Events gefunden. Etwas anderes fällt mir dann nicht mehr ein.

Nun muss ich aber erst mal das JSON File in dem Format erstellen, was auch der Firefox verwendet für seine Exports. Alles was ich bisher habe sind sämtliche Nodes mit browser.bookmarks.getTree(). Das ist leider nicht so ganz identisch mit dem was im JSON steht.

Benutzeravatar
Sören Hentzschel
Administrator
Beiträge: 18432
Registriert: Mi, 23. Nov 2011 0:39
Wohnort: Salzburg
Kontaktdaten:

Re: Ausführen wenn Firefox geschlossen wird

#15

Beitrag von Sören Hentzschel » Mi, 13. Jun 2018 13:10

> Dann exportiere ich die Bookmarks immer dann wenn ein Bookmark hinzugefügt, gelöscht oder geändert wurde.

Aber am besten optional, wenn ich daran denke, wie viele Lesezeichen ich täglich hinzufüge und/oder lösche. Da kommt sonst sehr schnell eine sehr hohe Zahl an Dateien zusammen. ;)


Meine Beiträge zum Firefox-Quellcode (4 Beiträge; Letzter Beitrag: 05.09.2018)

Antworten

Wer ist online?

Mitglieder in diesem Forum: Exabot [Bot] und 2 Gäste