eigene erweiterung: dynamische menueeintraege

  • hallo forum, ich bin gerade dabei eine erweitung zu basteln und jetzt moechte ich ein submenue mit dynamischen menuepunkten ....

    ich lad viea xmlhttprequest die menuepunkte in ein array, das klappt auch wunderbar .... jetzt habe ich fuer meine erweiterung in dem rechte-maustaste-contextmenue ein submenue hinzugefuegt und will das jetzt alles eintrage im array auch in dem submenue auftauchen, hat einen nen schima wie ich das machen kann?

  • danke erstmal, ich hab das jetzt mal ein bisschen probiert, das funktioniert bei mir:

    template-example.rdf

    so wie gesagt, das geht, was aber nicht geht ist folgendes:


    und ich seh leider nicht warum, hat da jemand einen tipp fuer mich?

  • japp, das ist sicher richtig, ich habs jetzt wie folgt, das bringt leider auch nicht den gewuenschten erfolg, kannst du noch einen fehler entdecken?

  • mit

    Code
    <menupopup datasources="chrome://meine/content/template-example.rdf" ref="chrome://meine/content/template-example.rdf#root">

    funtioniert es, damit kann ich leben, aber ist es auch moeglich diese eintrage waerend der laufzeit zu aendern? also die dazei zu aendern, das geht ja aber ff auch dazu, zubewegen die datei neu einzulesen?

    ich nehme an das das ja auch bei den bookmarks so gemacht wird

    zwelch

    // das problem ist naemlich das die datei erst zur laufzeit, bzw kurz nach dem start des ff erstellt wird.

  • verdammt, nen kleines prob gibt es noch, waer ja auch zu schon gewesen, ich hoffe das du auch hier so eine tolle idee hast.

    Code
    <template>
    <menuitem  uri="rdf:*" label="rdf:http://home.netscape.com/NC-rdf#Name" onclick="alert(rdf:http://home.netscape.com/NC-rdf#mist);"/>
    </template>


    oder das geht auch nicht:

    Code
    <template>
    <menuitem  uri="rdf:*" label="rdf:http://home.netscape.com/NC-rdf#Name" onclick="alert('rdf:http://home.netscape.com/NC-rdf#mist');"/>
    </template>


    der menueeintrag wird korrekt ausgelesen, jetzt soll auch dieser wert an eine funktion uebergeben werden, da das nicht geklappt hat, hab ich testweise mit einem alert versucht. das klappte allerdings auch nicht ... wenn ich nur test in den alert schreibe klappt es oder wenn ich nur http://home.netscape.com/NC-rdf#mist hinschreibe auch ... aber sobald ich rdf: mit angebe ist ruhe im karton ... es passiert einfach nichts, auch kein fehler in der jsconsole, was koennte hier noch in die hose gehen?

  • Spricht hier irgendetwas gegen JavaScript?
    Oder ist RDF tatsächlich zwingend erforderlich?

    Etwa so:

  • das waer natuerlich auch nicht schlecht aber ich bekomme das element nicht ...

    Code
    var mySubMenu = document.getElementsById("menu_wuPopup").lenght;
    alert(mySubMenu);

    keine ausgabe ...

    Code
    var mySubMenu = document.getElementsTagName("menupopup").lenght;
    alert(mySubMenu);

    ausgabe 45 ...

    keine ahnung wieso ...

  • Zitat von derzwelch
    Code
    var mySubMenu = document.getElementsById("menu_wuPopup").lenght;
    alert(mySubMenu);
    Code
    var mySubMenu = document.getElementsTagName("menupopup").lenght;
    alert(mySubMenu);


    keine ahnung wieso ...


    Wie kommst du eigentlich auf "getElementsById()" und "getElementsTagName()"?
    Und was ist ".lenght"?

    Code
    <popup id="contentAreaContextMenu">
         ...
         <menupopup id="myMenuPopup" onpopupshowing="fillMenu()">
         ...      
    </popup>


    ginge auch.