contentScriptFile - Beispiel (Add-on Builder)

  • Hallo,

    der nachfolgende Code fügt dem Firefox "Rechte-Maustaste-Menu" den Menupunkt "TEST" hinzu. Wenn man
    auf den Eintrag klickt, erscheint die Messagebox "Hello World".

    Frage: könnte man aus panel.js das Triggerevent ...

    Code
    self.on("click",

    ... ganz herausnehmen, und nach main.js verlegen, oder MUSS der Ausdruck
    "self.on(click" in panel.js stehen? -Ich möchte dass in panel.js nicht das Message-Event ("click"), sondern
    nur der eigentliche Javascript-Code (hier: alert "Hello World") bzw. (function alert "Hello World") steht.


    Code
    - Lib
       |
       +-- main.js
    
    
    - Data
       |
       +-- panel.js

    Struktur: die Dateien main.js und panel.js liegen bei diesem Beispiel in zwei verschiedenen Verzeichnissen.

    main.js :

    Code
    var o = require("self").data
    var cm = require('context-menu');
        cm.Item({
          label: "TEST",    //contentScriptFile: require("self").data.url("panel.js")
          contentScriptFile: o.url("panel.js")
        });

    panel.js :

    Code
    self.on("click", function () {
         alert("Hello World");
    });