Griever: XUL - Addon mit Einstellungsfenster versehen. / Einsteigerhilfe

Hallo

Ich versuch jetzt schon seit heute früh ein Einstellungsfenster für mein Addon für Firefox zu bauen. verzweifel aber daran einfach nur.

Das Addon soll eine bestimmte Funktion ausführen, die zwar schon unter GreaseMonkey funktioniert, dort aber größere Datenmengen nicht einfach mal dauerhaft gespeichert werden können und XUL da eig. abhilfe schaffen sollte.

Wer jetzt fragt, was XUL ist: https://developer.mozilla.org/En/XUL

Daher würde ich mich sehr freuen, wenn mir folgende Fragen beantwortet werden könnten:

1. Wie bekomme ich einen extra Menüeintrag ins Extras-Menü vom Firefox?
2. Wie kann ich auf ein Element eines eigenen XUL-Fensters zugreifen um dort z. b. den Inhalt zu ändern?
3. Kann mir da wer eventuell via ICQ (413-432-780) oder MSN (sebastianschiess@hotmail.de) ab und an unter die Arme greifen?

Die XUL-Referenzen sind meißt recht dürftig aufgebaut und mit suchen kommt man da auch nicht immer weiter.

Daher such ich jemanden, der da schon etwas Erfahrung mit hat und mir da mal n bissl reinhilft.

Grüße
Griever

    1. Wie kann ich auf ein Element eines eigenen XUL-Fensters zugreifen um dort z. b. den Inhalt zu ändern?

    http://aktuell.de.selfhtml.org/artikel/javascript/fensterzugriff/ - sofern du dein xul-fenster mit window.open() erzeugt hast.

    1. Kann mir da wer eventuell via ICQ (413-432-780) oder MSN (sebastianschiess@hotmail.de) ab und an unter die Arme greifen?

    Scherzkeks.

    Die XUL-Referenzen sind meißt recht dürftig aufgebaut und mit suchen kommt man da auch nicht immer weiter.

    Weil du im Grunde ohnehin mit mit JavaScript und CSS arbeitest. XUL beschreibt nur wie die Dialoge und Fensterchen aufgebaut sind, das Aussehen und die Funktionialität bestimmt XUL weitestgehend NICHT.

    1. Weil du im Grunde ohnehin mit mit JavaScript und CSS arbeitest. XUL beschreibt nur wie die Dialoge und Fensterchen aufgebaut sind, das Aussehen und die Funktionialität bestimmt XUL weitestgehend NICHT.

      Ähm ...
      Ich will ein Dialogfenster bauen mit eigenen Elemente und all sowas, wo ich eben diverse Einstellungen für mein Script festlegen kann.
      Diese werden nun mal mit XUL aufgebaut. Und ich öffne das Form nicht mit window.open (was ein neues Browserfenster erzeugen würde) sondern mit openWindow(...), was ein XUL-Basierendes Fenster öffnet.

      hier meine Codezeile zum öffnen des Fensters:

      function XULOpenWindow() {  
      	window.open("chrome://mscript/content/edit_config.xul", "Einstellungen", "chrome,width=600,height=300");  
      }
      

      Ja, das ist Javascript. Und hier das, was in edit_config.xul drinsteht:

      <?xml version="1.0"?>  
      <?xml-stylesheet href="chrome://global/skin/" type="text/css"?>  
      <window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" onLoad="init()">  
               <script type='application/x-javascript' src='chrome://mscript/content/prefman.js'></script>  
      	<script type='application/x-javascript' src='chrome://mscript/content/edit_config.js'></script>  
      	<label control="myInput" value="Einstellungsformular" />  
      	<textbox id="myInput" multiline="true" cols="40" rows="2" value="" />  
      	<button id="submitButton" label="Speichern" />  
      </window>
      

      Ich möchte nun wissen,w ie ich auf myInput zugreifen kann. Also document.getElementById("myInput") liefert null zurück.

      Darüber hinaus möchte ich wissen, wie ich im Browser via XUL Overlay einen weiteren Menüeintrag unter Extras einfügen kann.

      Extras

      • Web-Suche

      • Downloads
      • Add-Ons

      • Greasemonkey >
      • Fehlerkonsole
      • Seiteninformationen

      • Privaten Modus starten
      • Neueste Chronik löschen ...

      • Einstellungen ...

      MScript Einstellungen ...<<

      Wie bekomme ich also "MScript Einstellungen ..." in das Menü Extras von Firefox und bekomme dies auf XULOpenWindow() ?

      1. Kann mir da wer eventuell via ICQ (413-432-780) oder MSN (sebastianschiess@hotmail.de) ab und an unter die Arme greifen?

      Scherzkeks.

      Was heißt da Scherzkeks? Über ICQ oder MSN lässt sich am besten über sowas reden. Besonders, wenn man eben am Anfang von XUL (und dazugehörigem Javascript) steht und die Dokumentation im Inet nicht weiterhilft. :/

      1. Ähm ...

        Dito.

        Und ich öffne das Form nicht mit window.open [...]

        hier meine Codezeile zum öffnen des Fensters:

        function XULOpenWindow() {

        window.open("chrome://mscript/content/edit_config.xul", "Einstellungen", "chrome,width=600,height=300");
        }

          
        Ahja, du öffnest also dein XUL-Fenster nicht mit window.open ...  
          
        
        > Ich möchte nun wissen,w ie ich auf myInput zugreifen kann. Also document.getElementById("myInput") liefert null zurück.  
          
        Was irgendwo klar ist - lies den verlinkten Artikel. Dein Fenster heisst "Einstellungen" und ist natürlich ausgehend von der Browserinstanz nicht mit "document" zu erreichen.  
          
        
        > Darüber hinaus möchte ich wissen, wie ich im Browser via XUL Overlay einen weiteren Menüeintrag unter Extras einfügen kann.  
          
        Sagtest du schon - diese Frage habe ich bewusst ignoriert weil ich sie nicht beantworten kann.  
          
        
        > > Scherzkeks.  
        >   
        > Was heißt da Scherzkeks? Über ICQ oder MSN lässt sich am besten über sowas reden.  
          
        Die anderen Forenteilnehmer haben aber nichts davon.
        
        1. Ahja, du öffnest also dein XUL-Fenster nicht mit window.open ...

          Weil es kein Browserfenster is ... Sondern ein eigenes Fenster. Window.Open macht doch ein Browserfenster auf. Mit Addressleiste und all dem gedöhns. Das will ich ja nich und das kann ich auch nicht gebrauchen. Ich will ja mein XUL Einstellungsfenster öffnen. Red ich so an dir vorbei? O_O Ums mal so zu sagen: Ich will einfach nen eigenes Einstellungs-Fenster wie das Einstellungs-Fenster, was aufgeht, wenn man im Firefox auf Extras > Einstellungen ... geht.

          Ich möchte nun wissen,w ie ich auf myInput zugreifen kann. Also document.getElementById("myInput") liefert null zurück.

          Was irgendwo klar ist - lies den verlinkten Artikel. Dein Fenster heisst "Einstellungen" und ist natürlich ausgehend von der Browserinstanz nicht mit "document" zu erreichen.

          Obiger Post ...

          Darüber hinaus möchte ich wissen, wie ich im Browser via XUL Overlay einen weiteren Menüeintrag unter Extras einfügen kann.

          Sagtest du schon - diese Frage habe ich bewusst ignoriert weil ich sie nicht beantworten kann.

          Jedoch ohne dies bringt mir der rest nix, da ich sonst die besagte Funktion net aufrufen kann. :/ Und in den XUL-Dokumentationen steht auch nix. :/ Werd ich wohl mal nen aderes Addon zerfetzen müssen.

          Scherzkeks.

          Was heißt da Scherzkeks? Über ICQ oder MSN lässt sich am besten über sowas reden.

          Die anderen Forenteilnehmer haben aber nichts davon.

          Ok. Ist nen Argument.

          Ich werd mal das Greasemonkey-Addon zerreißen um an das Hinzufügen von dem Menü-Element da zu kommen.

          1. Ahja, du öffnest also dein XUL-Fenster nicht mit window.open ...

            Weil es kein Browserfenster is ... Sondern ein eigenes Fenster. Window.Open macht doch ein Browserfenster auf. Mit Addressleiste und all dem gedöhns. Das will ich ja nich und das kann ich auch nicht gebrauchen. Ich will ja mein XUL Einstellungsfenster öffnen. Red ich so an dir vorbei? O_O Ums mal so zu sagen: Ich will einfach nen eigenes Einstellungs-Fenster wie das Einstellungs-Fenster, was aufgeht, wenn man im Firefox auf Extras > Einstellungen ... geht.

            Den machst du mit window.open auf - das hast du selbst gesagt (und das macht man afaik auch so). Das "Protokoll" ist "chrome" und geladen wird ein XUL-Dokument.

            _Jeder_ Firefox-XUL-Dialog ist ein "Browserfenster" - das Hauptfenster ist unter z.B. unter chrome://browser/content/browser.xul zu erreichen

            ob du also Extras -> Add-ons öffnest oder oder window.open('chrome://mozapps/content/extensions/extensions.xul', 'foo', 'chrome,width=600,height=300'); aufrufst ist ansich egal - natürlich kannst du auch openWindow verwenden.

            https://dev.mozilla.jp/localmdc/developer.mozilla.org/en/working_with_windows_in_chrome_code.html

            Jedoch ohne dies bringt mir der rest nix, da ich sonst die besagte Funktion net aufrufen kann. :/ Und in den XUL-Dokumentationen steht auch nix. :/ Werd ich wohl mal nen aderes Addon zerfetzen müssen.

            https://developer.mozilla.org/en/XUL/PopupGuide/Extensions