• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[GELÖST] Firefox-Plugin Shared Ressource

uthred

New member
Hi ich bin gerade dabei ein Firefox-plugin zu schreiben.
Dieses loggt die Aktivitäten eines Nutzers.
Dafür habe ich ein contentScriptFile eingefügt. Dieses verfügt über eine Variable, die ich gerne mit der index.js Datei des Plugins teilen würde.
(Nutzer verlässt Seite, Script übermittelt Aktivitäten)

Habt Ihr eine Idee wie das geht? Ich finde nur Scripte zur Kommunikation mit der Ursprungsseite
Code:
var pageMod = require("sdk/page-mod");

pageMod.PageMod({
  include: "https://specialsite.com/*",
  contentScriptFile: "./scripts/js/recorder.js"
});
Code:
//recorder.js
window.onunload = function() {
    //function share ressource
}
 
Zuletzt bearbeitet von einem Moderator:
Dieses verfügt über eine Variable, die ich gerne mit der index.js Datei des Plugins teilen würde.
Das ist nicht möglich, da diese beiden Skripte in verschiedenen Sandboxen laufen. Du kannst dir aber mal das Messaging-System ansehen. Darüber kannst du serialisierbare Daten an das Hauptskript schicken.
 
Okay vielen Dank.
Ich habe es mit
Code:
window.onbeforeunload = function(e) {
    var message=JSON.stringify(content);
    self.postMessage(message);
};
im ContentScript hinbekommen.
Nur umgekehrt bekomme ich den EventListener nicht zum laufen, wenn das Plugin eine Nachricht schickt, soll dass das ContentScript (vom PageMod) mitbekommen.
Mit
Code:
window.addEventListener("message", enableRecording, false);
erwarte ich die Nachricht, allerdings habe ich noch nicht rausgefunden, wie ich eine Nachricht an das Script sende...
Code:
var pageMod = require("sdk/page-mod");
var testRecord="";
pageMod.PageMod({
        include: ["*"],
        contentScriptFile: "./scripts/js/recorder.js",
        onAttach: function(worker) {
        worker.on('message', function(message) {//Get Message onbeforeunload
          testRecord+=message;
        });
      }
    });
function sendMessageToContentScript(state) {
    self.postMessage("startRecording");//Not working
    pageMod.postMessage("startRecording");//postMessage not existing 
    window.postMessage("startRecording");//window not existing 
}
 
Zurück
Oben