URLs hartcodiert ins Menü - wie?

  • Für Leser-PCs in einer Bibliothek arbeite ich an einer restriktiven Browser-Oberfläche für den Firefox 1.0, die nur handverlesene Einträge anbietet. Dazu gehört auch, dass ich anstelle der Bookmarks eine Sammlung fest codierter URLs in das Menü schreiben will, und das funktioniert so, wie ich es versucht habe, offenbar nicht. Folgendermassen bin ich vorgegangen:

    In der Datei Browser.xul habe ich das Bookmarks-Menü umdefiniert:
    -----------------------------------------------------------------------------
    <menu id="bookmarks-menu" label="&bookmarksMenu.label;" accesskey="&bookmarksMenu.accesskey;">
    <menupopup id="menu_BookmarksPopup" contextmenu='bookmarks-context-menu'>
    <menuitem label="Beispiel A"
    command="Browser:GoPageA"/>
    </menupopup>
    </menu>
    -----------------------------------------------------------------------------

    Entsprechend definierte ich in der Datei Browser.js:
    -----------------------------------------------------------------------------
    function GoPageA(){
    loadURI("http://www.BeispielA.de");
    }
    -----------------------------------------------------------------------------

    (Natürlich mit einer sinnvollen Adresse, ist klar...)

    Beide Dateien habe ich nach meinen Änderungen wieder in ihr .jar gepackt, und sie wurden offenbar auch beide eingelesen, denn meine anderen Änderungen funktionieren einwandfrei.

    Problem: Der Menüeintrag erscheint zwar, aber es passiert nichts, wenn ich ihn anwähle. Was habe ich da übersehen?

    Birgit.

  • Inzwischen habe ich die Antwort selber rausbekommen: Mir war entgangen, dass ich mit

    <menuitem label="Beispiel A" command="Browser:GoPageA"/>

    gar nicht direkt auf die Javascript-Funktionen zugreife. Statt dessen muss ich im Abschnitt <commandset> definieren:

    <command id="Browser:GoPageA" oncommand="GoPageA();"/>

    Noch kürzer geht es mit:

    <menuitem label="Beispiel A" oncommand="loadURI('http://www.BeispielA.de');"/>

    Und kaum macht man's richtig, schon funktioniert es.

    Birgit.