アドオンビルダーを使用してFirefoxアドオンを作成していますが、ページコンテンツから値を保存して、パネルコンテンツスクリプトから読み取りたいと考えています。localStorageを使用したいのですが、試しましたが、ページとパネルスクリプト間で同じlocalStorageを共有できません。また、self.port.emitを試してみましたが、このメソッドは完全に機能しています。port.emitとport.onを使用して値を送信できますが、この値を毎秒更新する必要があるため、これは必要ありません。そのメソッドを使用すると、ブラウザがポートリクエストで過負荷になります。そのため、localStorageなど、変数に保存してパネルスクリプトから簡単にアクセスできるものを使用したいと思います。
ここでは、ページスクリプトで保存された値を読み取るパネルスクリプトを添付しています。
var panel = require("panel").Panel({
width: 100,
height: 100,
contentScriptFile: data.url("panel_script.js")
});
ここでは、ページコンテンツから値を保存し、パネルスクリプトがそれを読み取るページスクリプトを添付しています。
var pageMod = require("page-mod");
pageMod.PageMod({
include: "*",
contentScriptFile: self.data.url("page_script.js"),
contentScriptWhen: 'ready'
});