"require: clipboard" geht nicht (Add-on Builder)

  • Betrifft: var c=require("clipboard");

    Hallo,

    das nachfolgende Beispiel fügt dem Firefox "Rechte-Maustaste-Menu" den Menupunkt "Clipboard Test"
    hinzu. Wenn man auf den Eintrag klickt, sollte der String "Hello World" in die Windows-Zwischenablage
    kopiert werden; doch das Kopieren in die Windows-Zwischenablage funktioniert nicht (Fehlermeldung:
    "ReferenceError: require is not defined"). -Woran liegt's?

    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 cm = require('context-menu');
        cm.Item({
            label: "Clipboard Test",
            contentScriptFile: require("self").data.url("panel.js")
    });

    panel.js :

    Code
    self.on("click", function () {
    
    
    //var c=require("clipboard");
    //c.set('Hello World');
    alert('hello world ...has been put into the clipboard');
    
    
    }
    );
  • Habe die main.js und panel.js im Eröffnungstread als Code beigefügt. Mehr Code ist bei diesem "Clipboard-Test-Projekt" nicht vorhanden.

    Einmal editiert, zuletzt von worel (29. Dezember 2011 um 14:26)

  • Der Code funktioniert soweit, denn die Messagebox mit dem Text "hello world ..." erscheint.

    Aber warum in der Clipboard Definitions-Zeile...

    Code
    var c=require("clipboard");


    ...die Fehlermeldung: "ReferenceError: require is not defined" kommt, kann ich mir nicht erklären.

  • Du kannst keine Module im contentScriptFile einbinden.

    Ich vermisse bei dir die Selbstständigkeit. Auch diese Antwort habe ich wie in deinen anderen Threads mit weniger als einer Minute Suchaufwand gefunden, ohne überhaupt dein Script getestet zu haben oder eine Ahnung davon zu haben, was das eigentlich macht. Google hat sofort eine brauchbare Antwort geliefert. Was du machst, nennt sich Entwickeln. Und Entwickeln funktioniert nicht, wenn man sich nicht mit seinen Fehlern selber auseinandersetzt. Ich helfe wirklich gerne, aber ich kann nicht alles vorkauen, davon hast du nichts, so lernst du nichts.