如何浏览Edge Extension本地存储回调要求

时间:2019-04-03 18:55:21

标签: object callback storage microsoft-edge microsoft-edge-extension

我正在尝试使用弹出脚本访问由我的选项页设置的Edge中的本地存储数据。是否有当前可用的可行示例?

我使用的是localStorage,但如果在选项页面中保存更改后重新加载了扩展名,它只会更新弹出窗口。我想通过允许弹出窗口保存后立即访问它而无需重新加载,从而使用户更容易使用。我找到了browser.storage.local.get(),但是在我所看到的任何地方,文档都存在冲突,并且找不到可行的工作示例。

根据Edge文档,我已经使用过:


browser.storage.local.get("sample");

但是会引发错误,需要回调函数。所以我用了:

let sample = browser.storage.local.get("example");
sample.then(ifGood, ifBad);

我收到关于“ then”属性的错误。

然后我只是尝试向操作本身添加回调:

sample = browser.storage.local.get("example", callbackFunction);

function callbackFunction(data){
    alert(data);
}

结束警报应显示一个字符串,但仅显示一个空的对象。如何访问回调中返回的数据?我尝试将callbackFunction(this)作为get中的参数,但是它会引发有关get语法的错误。

2 个答案:

答案 0 :(得分:0)

在保存更改时,我在“选项”页面中使用browser.runtime.reload()找到了解决方法。它仍然会重新加载扩展程序,但是不需要用户手动进行扩展。

答案 1 :(得分:0)

您应使用以下语法:
browser.storage.local.get(propertyName | null, callbackFn)
在哪里
callbackFn = function fn(resultObject) {...}

通过null时,您将获得整个存储对象。

在Edge扩展中查找example 1example 2