注意 - 这个问题是基于这个问题(虽然没有必要阅读上一个问题):How to set value of textarea in different HTML file?
我有以下代码,它应该在firefox / chrome的本地存储中添加一个值,然后更改扩展程序的UI(代码会因使用的浏览器略有不同,截至现在,代码是firefox中的扩展名:
function createSummaryBox(summary) {
console.log("Setting textarea content to: " + summary);
const currentSummary = {
currentSummary: summary
}
browser.storage.local.set(currentSummary);
window.location.href = '../summary_page/summary_page.html';
}
但是,无论何时调用此函数,我都会收到以下错误:
ReferenceError:未定义browser.storage
如何修复此错误?我通读了关于这种方法的MDN文档,所以我不确定我错过了什么。
答案 0 :(得分:0)
如评论所建议,您需要声明许可。
在manifest.json
中添加:
"permissions": [
"storage"
],
或将其添加到任何现有权限中:
"permissions": [
"activeTab",
"storage"
],
Mozilla doc page
Chrome doc page
存储API可以在内容脚本中使用。
请不要感到困惑,这不是问题,因为在另一个问题中,它可能链接在注释中,而不必重复。