Skriptzugriff auf Elemente einer von einem uc.js Skript geladenen XUL Datei

  • Firefox-Version
    Mypal 68.14.5b, ein Firefox 68 Fork, aber mit einem CSS Level von 85 und einem JavaScript Level von 88
    Betriebssystem
    Windows XP Professional SP3 mit allen POSReady Updates

    Hallo! Ich verfolge schon seit Jahren den Thread "Individuelle Anpassungen". Zuerst einmal mein Kompliment an alle, die hier für den Browser Firefox Stylesheets, Skripte und Anpassungen bereitstellen, und darüberhinaus Hilfestellungen geben, wenn nichts mehr geht. :) Eigentlich bin ich jemand, der all seine JavaScript- oder CSS-Probleme selbst in den Griff bekommt. Heute habe ich jedoch entschieden, mich hier anzumelden und die Community bei einem Problem in JavaScript um Rat zu fragen, da ich irgendwie mit meinem Latein am Ende bin. Da ich in Foren seit Jahren nur in der englischen Sprache schreibe, ist es für mich ein Novum, hier in meiner Muttersprache zu posten. Mal sehen, wie das läuft. Jetzt aber in media res.
    Ich habe ein uc.js Skript erstellt, dass bei einem Mittelklick auf den vom Skript erzeugten Toolbarbutton eine XUL Datei in einem neuen Fenster des Browsers aufruft. Es handelt sich um die interne Datei "chrome://browser/content/preferences/clearSiteData.xul". Dieses Fenster mit dem Namen "Clear Data" (der Browser ist momentan nur in englischer Sprache verfügbar) wird von meinem Skript erfolgreich in der Größe und Position verändert, und verrichtet seinen Dienst bis auf den Button "Cancel", der auf internen Browser-Code zugreift, der aber von diesem Fenster aus nicht erreichbar ist. Bedauerlicherweise schaffe ich es nicht, durch mein Skript auf Elemente dieses Fensters zuzugreifen.
    Hier ein Teil des Codes von meinem Skript, der ordnungsgemäß funktioniert :thumbup::

    Spoiler anzeigen
    JavaScript
    // Aufruf des Chrome-Fensters
    var w2 = 400; // Set custom width of the clearSiteData.xul window
    var h2 = 190; // Set custom height of the clearSiteData.xul window
    var l2 = (screen.width-w2)/2;
    var t2 = (screen.height-h2)/2;
    CSD = window.open("chrome://browser/content/preferences/clearSiteData.xul","cleardata","chrome,dialog,dependent,left=" + l2 +",top=" + t2 +",width=" + w2 +",height=" + h2 +"");
    CSD.resizeTo(w2,h2);
    CSD.focus();

    Und nun der Teil des Codes, der in meinem Skript nicht funktioniert :thumbdown::

    Spoiler anzeigen
    JavaScript
    // EventListener zu dem Button "Cancel" hinzufügen und bei Klick Fenster schließen
    var cancel = document.getElementById("cancelButton");
    cancel.addEventListener("click", () => CSD.close());

    wobei der Button mit dem Namen "Cancel" in diesem Fenster die ID "cancelButton" besitzt. Wenn das Fenster mit der Datei "chrome://browser/content/preferences/clearSiteData.xul" geöffnet ist, und ich im Scratchpad, das mit dem Environment "Content" läuft, folgendes eingebe:

    Spoiler anzeigen
    JavaScript
    cancel = document.getElementById("cancelButton");
    cancel.addEventListener("click", () => close());

    funktioniert der Code einwandfrei, und das Fenster wird bei Klick auf den Button "Cancel" geschlossen. :thumbup: Mein Problem ist also der Zugriff auf Elemente dieser XUL Datei von meinem Skript aus, das anscheinend im Environment "Browser" läuft und von dort aus das Fenster mit seinen Elementen nicht erreicht. Kann man mit einem uc.js Skript überhaupt auf die Elemente eines solchen Fensters zugreifen? :/ Und wenn ja, wie bekomme ich in meinem Skript denselben Zugriff, den das Scratchpad im Environment "Content" hat? Ich habe schon viel probiert mit gBrowser, EventListener, DOMContentLoaded, location usw., aber nichts davon hat etwas gebracht. Wenn mehr Informationen benötigt werden, dann bitte hier posten. Ich werde sie dann nachreichen. Jede fachliche Hilfe oder Stellungnahme ist gewünscht und willkommen. :thumbup: Aber bitte keine Diskussionen oder Statements, warum jemand noch Windows XP benutzt, da solche natürlich off-topic und nicht zielführend sind. :whistling: Und hier geht es ja schließlich um JavaScript in einem Firefoxbrowser. 8o Vielen Dank schon mal im voraus! :)

    2 Mal editiert, zuletzt von AstroSkipper (18. Dezember 2024 um 01:54)

  • eine XUL Datei in einem neuen Fenster des Browsers aufruft.

    Gibt es in deinem Fork noch XUL-Dateien? In Firefox gibt es keine XUL-Dateien mehr, stattdessen nur noch XHTML-Dateien.

    Du solltest auch endlich von Win XP wegkommen. Das wird selbst von Microsoft seit 2020 nicht mehr unterstützt. Aber das nur am Rande. Wie alt ist denn dein Fork? Auf welcher Firefox-Version basiert er denn?

    Ü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

  • Gibt es in deinem Fork noch XUL-Dateien? In Firefox gibt es keine XUL-Dateien mehr, stattdessen nur noch XHTML-Dateien.

    Noch gibt es in Mypal 68 XUL-Dateien. Wird sich wohl auch nicht so schnell ändern.

    Du solltest auch endlich von Win XP wegkommen. Das wird selbst von Microsoft seit 2020 nicht mehr unterstützt. Aber das nur am Rande. Wie alt ist denn dein Fork? Auf welcher Firefox-Version basiert er denn?

    Windows XP ist das einzig vernünftige Betriebssystem, das Microsoft je erschaffen hat. :P Je neuer das Betriebssystem und Firefoxversion, desto mehr Restriktionen und Ärger. X( In Windows XP bin ich der Administrator und nicht Microsoft. :thumbup: Ich administriere auch ein Notebook mit Windows 7 und Windows 10, aber diese Betriebssysteme sind kein Vergleich zu Windows XP. An meinem XP-Rechner erhole ich mich immer von diesem Schrott. Aber ich habe extra geschrieben, das Thema Windiws XP zu meiden, da es mit meinem JavaScript-Problem nichts zu tun hat. Der Firefox-Fork, den ich benutze, heißt Mypal 68 und wird regelmäßig weiterentwickelt. Er befindet sich somit in aktiver Entwicklung. Er basiert auf der Firefoxversion 68, wobei momentan sein CSS auf dem Stand von FF 85 und sein JavaScript auf dem Stand von FF 88 ist.

    Einmal editiert, zuletzt von AstroSkipper (18. Dezember 2024 um 01:29)

  • Er basiert auf der Firefoxversion 68

    Lautet Forenregeln erhältst du keine Unterstützung für veraltete Firefox-Versionen, daran ändert auch nichts, dass dein „Firefox“ anders heißt.

    Ü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

  • Lautet Forenregeln erhältst du keine Unterstützung für veraltete Firefox-Versionen, daran ändert auch nichts, dass dein „Firefox“ anders heißt.

    Ich brauche keine Unterstützung für ältere Firefoxversionen. Das habe ich alles perfekt im Griff. Es geht mir überhaupt nicht um Firefox, sondern um JavaScript und Programmieren. Ich habe hier ein reines JavaScript-Problem gepostet in einem uc.js-Skript, und vermutlich war jeder aus dieser Community mal mit Skripten und XUL Dateien konfrontiert. Wenn du nicht helfen kannst oder magst, ist das ok. Vielleicht kann ja hier jemand anders, der über langjährige JavaScript-Kenntnisse verfügt, seine Ideen zu meinem Problem posten. Mir geht es einzig und allein um den Zugriff von einem uc.js Skript auf Elemente einer XUL-Datei, die in einem Browserfenster geladen wurde. No more, no less. Jede Idee zu meinem Problem ist willkommen.

    P.S.: Und danke für dein herzliches Willkommen in diesem Forum! 8o

    4 Mal editiert, zuletzt von AstroSkipper (18. Dezember 2024 um 01:10)

  • @AstroSkipper Obacht, wir machen das hier alle ohne Ausnahme als Hobby und auf freiwilliger Basis!
    Das Board hat nichts mit Mozilla zu tun:!:

    So und nun zu Deinem Problem.
    Da "Dein" Fork auf einer veralteten Version des Firefox basiert und wie Du schreibst noch XUL-Dateien verwendet,
    funktioniert da so einiges noch anders! Es ist somit nicht ausschließlich ein JavaScript-Problem:!:

    Bitte poste hier mal das ganze Skript, damit man das Ganze im Zusammenhang sieht und eventuell auch selber mal testen kann.
    Ich würde es ja gerne ausprobieren und dann auch mal sehen wollen, ob die Fehlerkonsole etwas hergibt.
    Nur mit so Codefetzen kann ich so nichts anfangen und hier on Board glaube ich, gibt es auch niemanden mehr,
    dessen zweite Muttersprache JavaScript ist, und diese aus dem FF beherrscht.
    Ich kann mich auch irren:!:

    Wenn Dir niemand helfen kann, oder will, dann ist das halt leider so und da Du bei Deiner Registrierung die Forenregeln
    ja genau durchgelesen hast, ist Dir bewusst, dass im Grunde Forks und veraltete Firefox-Versionen gar nicht supportet werden. ;)

    Wenn es jemand dennoch tut, dann hast Du Glück.

    Mit <3lichem Gruß

    Mira

  • Hallo,

    Windows XP ist das einzig vernünftige Betriebssystem, das Microsoft je erschaffen hat. :P Je neuer das Betriebssystem und Firefoxversion, desto mehr Restriktionen und Ärger. X( In Windows XP bin ich der Administrator und nicht Microsoft. :thumbup:

    Das ist ja nun wirklich völliger Quatsch. Das hier ist ein seriöses Forum und keine Plattform für Schwurbeleien. Es gibt absolut keine Rechtfertigung dafür, ein Betriebssystem sowie einen Browser mit zahlreichen bekannten und teils schwerwiegenden Sicherheitslücken zu nutzen, zumal von einigen sogar bekannt ist, dass diese aktiv ausgenutzt werden. Würde man damit nur sich selbst in Gefahr bringen, könnte es einem ja egal sein. Manche Menschen lernen eben nur, wenn sie irgendwann mal einen Schaden feststellen. Du machst das Internet damit aber für alle zu einem unsichereren Ort. Dafür ist Egoismus noch ein freundliches Wort. Und unter dieser Voraussetzung dann solche Sprüche zu bringen, ist quasi noch der Mittelfinger oben drauf, weil du auch noch stolz auf dieses Handeln zu sein scheinst.

    Ich brauche keine Unterstützung für ältere Firefoxversionen.

    Natürlich brauchst du das. Genau deswegen hast du doch dieses Thema eröffnet. :/ Ginge es tatsächlich um ein reines JavaScript-Problem, wärst du hier im falschen Forum. Vor allem in Zusammenhang mit XUL und einem uc.js-Script ist es eine alberne Behauptung zu sagen, es ginge hier um ein reines JavaScript- und um kein Firefox-Problem.

    Als Nutzer von Windows XP könntest du immerhin noch Firefox 115 nutzen. Dafür würdest du (bis voraussichtlich März 2025) auch noch Support in diesem Forum erhalten. Würde es jetzt darum gehen, wenige Monate danach noch eine Frage zu Firefox 115 zu stellen, okay, das Thema muss ich ja vielleicht nicht sofort schließen. Aber bei einem Browser, dessen Basis 5 1/2 Jahre (!) alt ist, hätte das nichts mehr mit einer entspannten Auslegung der Regeln zu tun. Das lässt sich nicht argumentieren.

    Darum schließe ich hier.

    Nachtrag: Der Nutzer hat sich löschen lassen.