В this documentation приведен пример того, как передавать данные/события на вкладку. Вот мой отредактированный вариант:firefox jpm - emit to tab извне tab-call
успеха-window.js
// "self" is a global object in content scripts
// Listen for a "drawBorder"
self.port.on("drawBorder", function(color) {
document.body.style.border = "5px solid " + color;
});
В index.js
var self = require("sdk/self");
var tabs = require("sdk/tabs");
var success_tab;
var myTab = tabs.open({
url: data.url("success-window.html"),
onReady: function onReady(tab) {
success_tab = tab.attach({
contentScriptFile: [data.url('angular/angular.min.js'),
data.url('angular-bootstrap/ui-bootstrap-tpls.min.js'),
data.url('success-window.js')]
});
}
});
Как я могу использовать success_tab.port.emit
вне кнопки четкости? Как и в другой функции в пределах index.js, например. console.log
console.log('mytab:', myTab); // mytab: undefined
console.log('success_tab:', success_tab); // success_tab: undefined
success_tab.port.emit("drawBorder", "red"); // JPM [error] Message: TypeError: success_tab is undefined
Очень круто спасибо за долю! – Noitidart
Спасибо! Вы также можете использовать 'successWorker.port.emit' вместо' successWorker.postMessage'. – Rentrop