Buttons funktionieren nur im/ für das erste Fenster

  • Firefox-Version
    115esr
    Betriebssystem
    macOs

    Es gibt hier eine Menge Scripts für Buttons, die nach einem ähnlichen Schema aufgebaut sind, siehe Beispiel unten.

    Wiederkehrende Probleme mit vielen davon sind Folgendes:

    #1:

    - Firefox öffnen, das Programm öffnet mit einem Browser Fenster (Fenster A).
    - Script Button funktioniert; jetzt neues Fenster B öffnen, dann das Fenster A - das erste beim Start geöffnete Fenster - schliessen.
    - Script Button funktioniert nicht mehr in Fenster B oder anderen Fenstern, sobald Fenster A geschlossen wurde.

    #2:

    - Firefox öffnen, das Programm öffnet mit einem Browser Fenster (Fenster A).
    - Script Button funktioniert; jetzt neues Fenster B öffnen, dann den Button in Fenster B klicken.
    - Button führt das Script aus - aber in Fenster A, nicht im aktiven Fenster B.

    Dazu eine kleine Linksammlung, mehr oder weniger relevant:

    1
    2
    3
    4
    5
    6
    7

    Die problematischen Scripts benutzen Fix #1, vorgeschlagene Lösung (Fix #2), hier als Code Beispiel:

    Warum?

    Zitat

    Es ist nur ein minimaler Unterschied zwischen den beiden Varianten, und gleich einfach umzusetzen, also warum nicht die bessere Variante benutzen?

    Bei mir am Mac ist es sehr auffällig, weil hier Firefox nicht beendet wird beim Schliessen aller Fenster, also habe ich oft eine aktive, aber fensterlose Fx App im Dock; ich vermute sehr viele User stolpern eventuell mal über das Problem, ohne es zu melden oder nachvollziehen zu können.

    Nicht zu vergessen dass mehrere Fenster sehr wohl benutzt werden, gerade auch in einem Setup mit mehr als einem Monitor; in dem Fall kann es ganz schnell Ärger geben mit einem Script das nicht alle Fenster - wie im Einzelfall gewünscht - bedienen kann.

    Letztlich ist es aber auch einfach ein Fehler im Script.

    Warum nicht?
    Die Lösung kommt von einem Amateur (mir), und könnte unvorhergesehene, aber von mir noch nicht beobachtete Probleme verursachen. :/

    Warum nicht nicht?
    99,99% aller User, oder nur du selber, benutzen nie mehr als ein Browserfenster. Kein Argument für Code der publik gemacht wird. X/
    Ausserdem kommt Fix #1 aus der selben Quelle. ;)

    Einmal editiert, zuletzt von Horstmann (10. Mai 2025 um 12:35) aus folgendem Grund: Beispielcode ausgetauscht wegen Iconpfad Fehler

  • Die Lösung kommt von einem Amateur (mir), und könnte unvorhergesehene, aber von mir noch nicht beobachtete Probleme verursachen. :/

    Gute Lösung, meine ich als absoluter Amateur, deswegen habe ich, so gut ich konnte, meine Scripte nach dieser Vorlage aufgebaut. Einfach und verständlich, und kann auf alle möglichen Button umgeschrieben werden. Außerdem funktionstüchtig in allen Fenstern, und die Konsole ist auch zufrieden.

    Grüße vom FuchsFan

  • Nicht bei mir

    Stimmt, das habe ich nicht in der richtigen Reihenfolge gemacht.:rolleyes:

    Dann habe ich dieses noch, ist im Aufbau fast deinem ähnlich. Kannst ja mal probieren.

    Grüße vom FuchsFan

  • Nicht bei mir

    Stimmt, das habe ich nicht in der richtigen Reihenfolge gemacht.:rolleyes:

    Dann habe ich dieses noch, ist im Aufbau fast deinem ähnlich. Kannst ja mal probieren.

    Dankeschön, aber gleiches Spiel; sowohl Problem #1 als auch #2.:/
    Und noch eine Kleinigkeit: die Dateipfade für die Icons url("file:///C:/... funktionieren vermutlich auf Windows, aber nicht hier am Mac, also nicht perfekt für Kompatibilität.

  • Für die Dateipfade zu den Icons besser so etwas nutzen!
    Es ist da auch schon ein Fallback "eingebaut" falls irgendetwas klemmt.

    Mit <3lichem Gruß

    Mira

  • FuchsFan

    Für das Skript hier ein Ersatz.
    Es ist eine überarbeitete Version, die sowohl den Fix von Horstmann enthält als auch den Fallbackfix!

    Anzumerken ist, dass die Grafiken natürlich im richtigen Pfad sein müssen:!:
    %appdata%\Mozilla\Firefox\Profiles\"Profilname"\chrome\icons

    Ich meine, dass darüber im Forum schon "gesprochen" wurde.

    Mit <3lichem Gruß

    Mira

    Einmal editiert, zuletzt von Mira_Belle (10. Mai 2025 um 08:35)

  • Für das Skript hier ein Ersatz.

    Ich danke dir, aber wie müsste der Ablauf z.B. für about:about, oder auch Konsole aussehen, bekomme es nicht gebacken.


    Ich meine, dass darüber im Forum schon "gesprochen" wurde.

    Ja, das schon, aber ich war immer der Meinung, dass meine Scripte funktionieren, leider nicht.

    Grüße vom FuchsFan

    Einmal editiert, zuletzt von FuchsFan (10. Mai 2025 um 09:31) aus folgendem Grund: Ein Beitrag von FuchsFan mit diesem Beitrag zusammengefügt.

  • Für die Dateipfade zu den Icons besser so etwas nutzen!
    Es ist da auch schon ein Fallback "eingebaut" falls irgendetwas klemmt.

    Danke!:):thumbup:
    Ich Schlaumeier hab mein einziges Script mit diesem Dateipfad - der bei mir am Mac nichtmal geht - als Beispiel benutzt, und dann auch noch FuchsFan deswegen angemeckert...:whistling:

  • Ich danke dir, aber wie müsste der Ablauf z.B. für about:about, oder auch Konsole aussehen, bekomme es nicht gebacken.

    Da mache ich mich auch noch drann, meines besteht den Elchtest auch nicht!

    Apropos Elchtest.
    Ich habe insgesamt 7, die den Test nicht bestanden haben.
    Sobald ich die gefixt habe, stelle ich sie rein, oder soll ich sie schon ungefixt hier "vorstellen"?

    Mit <3lichem Gruß

    Mira

  • Besser sie sind fertig nutzbar. ;) :)

    Habe mal nur einfach Links gesetzt!
    Wenn ich nicht weiter komme, kann ich ja das betreffende Skript
    mit einer Anfrage in einem neuen Thread posten.

    # ----------------------------------------------------------------------------------------------------------- #

    // Addons-UpDate-Check.uc.js

    // Restart_Firefox.uc.js
    Ist im Prinzip dieses.

    // restart_item_in_menu.uc.js

    Dann noch Skripte die auf diesem aufbauen!
    Unteranderem auch das für about:about

    // Quicklink

    Und noch zwei andere, eines zum Aufrufen für ein eigenes Downloadfenster
    und eines zum Aufrufen des Forums. "Quicklink" ein bisschen anders als die verlinken Beispiele.

    Mit <3lichem Gruß

    Mira


  • Es ist eine überarbeitete Version, die sowohl den Fix von Horstmann enthält als auch den Fallbackfix!

    Ahem, nur leidet der Fallback Fix unter Problem #1 ;) - der Code dafür müste auch nach unten, etwa so:

  • ...wie müsste der Ablauf z.B. für about:about, oder auch Konsole aussehen, bekomme es nicht gebacken.


    Ja, das schon, aber ich war immer der Meinung, dass meine Scripte funktionieren, leider nicht.

    Deine Scripts funktionieren schon, nur halt mit einem mE kleinen Fehler, den viele User oft gar nicht wahrnehmen.
    Weil ich am Mac bin und 2 Monitore habe, kommt der Fehler bei mir häufig vor.

    Bzgl. about:about, das könnste mal probieren:

    Der Ablauf ist für diese Art von Scriptaufbau einfach:

    Wenn du dir das Beispielscript in #1 anschaust, du nimmst den hier oft gesehenen Fix #1 kompletten Codeblock, inkl. aller Satzzeichen, und setzt ihn unter } catch(e) { }.

    Dann ersetzt du in diesem Fall toolbaritem mit document.getElementById('aboutabout_Button'), weil du den Button an der Stelle neu aufrufen musst.

    aboutabout_Button ist einfach die weiter oben festgelegt ID des Buttons.

    An der Stelle der Tip, für ID, class etc. keine Bindestriche zu benutzen, also aboutabout_Button statt aboutabout-Button, weil man dann diese ID je nach Zusammenhang direkt und ohne document.getElementById benutzen kann (s. Fallback Code).


    Noch ein Nachtrag: die Lösungen, wenn sie denn auch für alle funktionieren, basieren auf vielen Diskussionen und Codevarianten aus diesem Forum; allen voran viele Beiträge von BrokenHeart zu diesem Thema. :):thumbup:

    Einmal editiert, zuletzt von Horstmann (10. Mai 2025 um 12:30) aus folgendem Grund: Ein Beitrag von Horstmann mit diesem Beitrag zusammengefügt.

  • Besser sie sind fertig nutzbar. ;) :)

    Habe mal nur einfach Links gesetzt!
    Wenn ich nicht weiter komme, kann ich ja das betreffende Skript
    mit einer Anfrage in einem neuen Thread posten.

    # ----------------------------------------------------------------------------------------------------------- #

    .....

    :thumbup:

    Soll ja kein Sammelthread werden. ;)
    Für viele Scripts gibt's ja auch schon eigene Threads.

    Alternative Lösungen, bzw. welche für anders aufgebaute Codes, mit Beispielen oder Links zu Lösungen wären natürlich prima. :)

    Es gibt ja auch noch verwandte Problematiken wie hier oder hier.

    Einmal editiert, zuletzt von Horstmann (10. Mai 2025 um 13:09)

  • Bzgl. about:about, das könnste mal probieren:

    Danke, damit werde ich mich befassen.:thumbup:

    Noch ein Nachtrag: die Lösungen, wenn sie denn auch für alle funktionieren, basieren auf vielen Diskussionen und Codevarianten aus diesem Forum; allen voran viele Beiträge von BrokenHeart zu diesem Thema. :) :thumbup:

    Ja, das glaube ich dir gern, weil ich in der Regel mitlese. Ich betone "mitlese", denn wenn ihr eine Diskussion über diese Sachen beginnt, dann sind das für mich immer "Böhmische Wälder". Amateur bleibt Amateur.:)

    Grüße vom FuchsFan

  • Horstmann Habe so eben noch einmal den Elchtest mit ButtonProfilordner.uc.js gemacht!
    Habe die Ausfallroutine aktiviert, neues Fenster geöffnet, und auch da ist das Symbol (die Grafik) sichtbar!
    Auch ist die Funktion gegeben. :/

    Also: Erstes Fenster ist Fenster A, dann neues Fenster B öffnen.

    Dann Fenster A schliessen, dann zusätzlich zu Fenster B noch ein Fenster C öffnen --> Fenster C hat Buttonfunktion, weil die Funktion nach unten bewegt wurde; Icons hat Fenster C keine, weil diese beiden Funktionen (Icon und Fallback) nicht bewegt wurden.

    Ist evtl. Problem #3 wegen dem extra nötigen Schritt in Windows, aber das gleiche Prinzip.

  • Dann Fenster A schliessen, dann zusätzlich zu Fenster B noch ein Fenster C öffnen --> Fenster C hat Buttonfunktion, weil die Funktion nach unten bewegt wurde; Icons hat Fenster C keine, weil diese beiden Funktionen (Icon und Fallback) nicht bewegt wurden.

    Nach deiner Vorlage habe ich nun meine Scripte umgebaut, genau so getestet, wie du es beschrieben hast, und es funktioniert in allen Fenstern ohne Probleme (wenn ich dich richtig verstanden habe).

    Ich bedanke mich bei dir, und auch bei Mira_Belle, für diesen Lösungsvorschlag, gefällt mir.:thumbup:

    Hier habe ich eines der Scripte, dass ich mir angepasst habe. Die Icon-Lösung habe ich neu eingefügt, weil sie hier in einem zentralen Verzeichnis (auf C:) hinterlegt sind. Teste es bitte mal, ob es nun deinen Vorstellungen entspricht. Fehler werden auch nicht angezeigt.

    Grüße vom FuchsFan

  • Also: Erstes Fenster ist Fenster A, dann neues Fenster B öffnen.

    Dann Fenster A schliessen, dann zusätzlich zu Fenster B noch ein Fenster C öffnen --> Fenster C hat Buttonfunktion, weil die Funktion nach unten bewegt wurde; Icons hat Fenster C keine, weil diese beiden Funktionen (Icon und Fallback) nicht bewegt wurden.

    Ist evtl. Problem #3 wegen dem extra nötigen Schritt in Windows, aber das gleiche Prinzip.

    Gesagt, getan!
    Funktioniert.
    Habe auf Funktion und auf das "erscheinen" der Grafik geachtet!
    Mit Fallback und ohne Fallback. Mh. :/

    Jetzt bräuchten wir mal jemanden mit Windows, der das auch noch mal durchspielt.
    2002Andreas wenn Du etwas Zeit hättest, könntest Du bitte mal das Szenario durchspielen
    mit all seinen Facetten? Oder BrokenHeart Du?

    FuchsFan Cooles Skript!

    Mit <3lichem Gruß

    Mira