私は、ページ上の数字を見つけて、アドオンの html パネルに表示する単純なアドオンに取り組んでいます。
どのようにデータにアクセスし、port.on で変数を割り当てますか?
myMessagePayload には"4000, 800"
、main.js ファイルから送信されたものが含まれています。
//main.js
var tag = ".first, .second";
var data = require("sdk/self").data;
var pageMod = require("sdk/page-mod");
pageMod.PageMod({
//include: "*.example.com",
include: "http://example.com/*",
contentScriptFile: data.url("element-getter.js"),
onAttach: function(worker) {
worker.port.emit("getElements", tag);
worker.port.on("gotElement", function(elementContent) {
pcPanel.port.emit("message",elementContent);
});
}
});
// element-getter.js
self.port.on("getElements", function(tag) {
var elements = document.querySelectorAll(tag);
for (var i = 0; i < elements.length; i++) {
self.port.emit("gotElement", elements[i].innerHTML);
}
});
// display.html
addon.port.on("message", function handleMyMessage(myMessagePayload) {
var firstNumber = parseInt(myMessagePayload[0]);
var secondNumber = parseInt(myMessagePayload[1]);
}
console.log(myMessagePayload);
//info: addon: 4000
//info: addon: 800
console.log(myMessagePayload[0]) //returns 4
console.log(myMessagePayload[1]) //0
console.log(myMessagePayload[2]) //0
console.log(myMessagePayload[3]) //0
port.on() が受け取った値をどのように変数に設定しますか?