Reputation: 1362
it´s me again :-|
I can´t get the events working, which I can use with worker.port.on(...).
See my code:
main.js:
// import the modules we need
var data = require('self').data;
var {Cc, Ci} = require('chrome');
var mediator = Cc['@mozilla.org/appshell/window-mediator;1'].getService(Ci.nsIWindowMediator);
var self = require('self');
var panel = require("sdk/panel");
var ss = require("sdk/simple-storage");
var tabs = require('sdk/tabs');
// exports.main is called when extension is installed or re-enabled
exports.main = function(options, callbacks)
{
tabs.on("ready",
function (activeTab)
{
var worker = activeTab.attach({contentScriptFile: [self.data.url("inject.js")]});
worker.port.on("testmain",
function(data)
{
self.port.emit("testcontent", "bladibla");
}
);
}
);
};
inject.js:
self.port.on("testcontent",
function (data)
{
window.alert(data);
});
self.port.emit("testmain");
Help would be nice. Thanks!
Upvotes: 1
Views: 411
Reputation: 33192
The following call:
self.port.emit("testcontent", "bladibla");
Should be:
worker.port.emit("testcontent", "bladibla");
Upvotes: 1