Background Task

  • Hallo,

    ich hoffe mir kann jemand weiterhelfen.

    Ich möchte eine Art background task im FF ausführen. Hier der genauere Hintergrund:

    Auf einem Raspi habe ich pi-hole installiert. Nun gibt es Seiten die von pi-hole blockiert werden, die ich aber trotzdem sehen möchte. Dazu habe ich in der Lesezeichen-Symbolleiste ein Lesezeichen mit der folgenden Adresse erstellt:
    http://<PIHOLE-URL>/admin/api.php?disable=30&auth=<PASSWORT>
    Wenn ich das Lesezeichen anklicke, wird pi-hole angewiesen die Blockade für 30 Sekunden auszusetzten. Das funktioniert gut, leider geht dabei aber ein Fenster zu der Admin-Seite von pi-hole auf und ich muss entweder zurück gehen oder, falls ich einen neuen Tab ausgewählt hatte, diesen wieder manuell schließen

    Ich möchte nun, dass dieser Aufruf von Firefox im Hintergrund behandelt wird, also kein neues Fenster aufgeht und die 'Hintergrund-Task' auch gleich wieder beendet wird. Wie bekomme ich das hin?

    Gruß -q

  • Mit einem Lesezeichen wird das IMHO nicht gehen. Leg Dir doch einen Wget (oder cURL oder Powershell)-Aufruf auf den Desktop oder ins Startmenü. Direkt aus FF benötigt wohl ein Userscript (-> userChromeJS).

  • Ein userChromeJS-Skript kann einem Button, Menüeintrag oder ein Tastenkürzel erstellen mit dieser Funktion:

    Code
    const url = 'http://<PIHOLE-URL>/admin/api.php?disable=30&auth=<PASSWORT>';
    let tab = gBrowser.addTab(url);
    tab.setAttribute('hidden', 'true');
    setTimeout(function() {
      gBrowser.removeTab(tab);
    }, 5000);

    Technisch wird dabei ein neuer unsichtbarer Tab im Hintergrund mit der pi-hole-Adresse geöffnet und nach 5 Sekunden wieder geschlossen.

  • Chromebook Lenovo IdeaPad Flex 5 - chromeOS 122 (Stable Channel) - Linux Debian Bookworm: Firefox ESR 115.8.0 und Firefox Nightly, Beta und Main Release (Mozilla PPA), Android 13: Firefox Nightly und Firefox (Main Release)

    Smartphone - Firefox Main Release, Firefox Nightly, Firefox Klar (Main Release)

  • Danke für die Hinweise. Die Basis von userChromejs ist nun installiert und einige Testscripts laufen auch. Auch das Script von aborix rennt sofort beim Start von Firefox los. Ich bekomme es aber nicht hin, dass das Script erst von einem Button oder Lesezeichen aus gestartet werden kann. Ich habe mal das Script about-config.uc.js hergenommen und im Abschnitt onclick....

    Code
    onclick: 'if (event.button == 0) { \
    			openTrustedLinkIn("about:config", "tab");\
    							}; '


    den Code innerhalb der geschweiften Klammern durch den Code von aborix ersetzt. Dann läuft das Script gar nicht mehr.

    Nun habe ich keine Ahnung von Javascript. Was muss ich also tun um z.B.einen Button zu erzeugen, der
    beim Click den gewünschten Code startet?'

  • Ein Skript für einen Button:

    Die Grafik, die in Zeile 14 eingetragen ist, kann natürlich eine andere sein; ebenso der Name und der Tooltip in den Zeilen 10 und 11.

  • Gerettttet!

    Vielen Dank aborix für den Rettungsring. Kopiert, angepasst und läuft!

    Ob ich mich jetzt an der Leine aber auch ins Boot ziehen lasse? Eigentlich könnte ich jetzt stillvergnügt die Funktion einfach genießen. Wenn ich über den Code schaue, so verstehe ich davon kein bisschen - und das wurmt mich dann doch sehr. Deshalb meine (vorerst) letzte Frage: Gibt es eine auch für Anfänger verständliche Dokumentation speziell zu den userChromejs Erweiterungen wie z.B. den Umgang mit Button/Widgets?

    Nochmals besten Dank an Alle und eine gute Woche.

  • Danke für den Hinweis zur Änderung für V. 63. Ich arbeite mit FF V. 63.0.1 und habe das script entsprechend geändert. Laufen tut es trotzdem nicht.

    Wie in den Anleitungen zur Erstellung von userChromejs beschrieben habe ich den startupCache in C:\Users\xxx\AppData\Local\Mozilla\Firefox\Profiles\xxx.default" gelöscht und das System neu gestartet. Das script zum_testen.uc.js funktioniert auch, mein script aber nicht. Der Knopf wird erstellt, aber es tut sich einfach gar nichts, wenn ich den Knopf anklicke.

    Kann ich noch weitere Änderungen vornehmen?


  • Wie in den Anleitungen zur Erstellung von userChromejs beschrieben habe ich den startupCache in C:\Users\xxx\AppData\Local\Mozilla\Firefox\Profiles\xxx.default" gelöscht und das System neu gestartet. Das script zum_testen.uc.js funktioniert auch, mein script aber nicht. Der Knopf wird erstellt, aber es tut sich einfach gar nichts, wenn ich den Knopf anklicke.


    Ich empfehle dir folgendes Benutzerskript zu installieren, sofern du es noch nicht hast. Mit diesem Skript kannst du durch Drücken der rechten oder mittleren Maustaste auf das Symbol dieses Skriptes den Skript-Cache leeren. Bei Änderungen an einem Skript empfiehlt sich das:

    Das Skript heißt RestartFirefoxButtonM.uc.js bzw. RestartFirefoxButton_Movable.uc.js. Mit diesem Skript kannst du auch sein eigenes Symbol verschieben.

    Übersetzer für Obersorbisch und Niedersorbisch auf pontoon.mozilla.org u.a. für Firefox, Firefox für Android, Firefox für iOS, Firefox Klar/Focus für iOS und Android, Thunderbird, Pootle, Django, LibreOffice, LibreOffice Onlinehilfe, WordPress

  • Kann ich dir, ehrlich gesagt, nicht beantworten. Ich dachte ja mal, mit Strg+F5, aber das stimmt wohl nicht.

    Übersetzer für Obersorbisch und Niedersorbisch auf pontoon.mozilla.org u.a. für Firefox, Firefox für Android, Firefox für iOS, Firefox Klar/Focus für iOS und Android, Thunderbird, Pootle, Django, LibreOffice, LibreOffice Onlinehilfe, WordPress

  • Und, Andreas, kennst du eine Möglichkeit ohne das Skript?

    Übersetzer für Obersorbisch und Niedersorbisch auf pontoon.mozilla.org u.a. für Firefox, Firefox für Android, Firefox für iOS, Firefox Klar/Focus für iOS und Android, Thunderbird, Pootle, Django, LibreOffice, LibreOffice Onlinehilfe, WordPress


  • [quote='quasimodoz','https://camp-firefox.de/forum/index.ph…971#post1096971']

    Mit diesem Skript kannst du durch Drücken der rechten oder mittleren Maustaste auf das Symbol dieses Skriptes den Skript-Cache leeren. Bei Änderungen an einem Skript empfiehlt sich das:

    Das Skript heißt RestartFirefoxButtonM.uc.js bzw. RestartFirefoxButton_Movable.uc.js. Mit diesem Skript kannst du auch sein eigenes Symbol verschieben.

    Wenn ich das richtig verstanden habe, sollte dieses script doch ein eigenes Symbol erzeugen. Tut es bei mir aber leider nicht. Habe ich das falsch verstsanden? Wenn ich mein ursprüngliches script mal deaktiviere und nur diese script im chrome-folder ist, kann ich keine Änderung feststellen bzw. ein Symbol sehen.