如何从内容脚本中的chrome扩展弹出localStorage中获取变量?

时间:2017-09-18 12:20:12

标签: google-chrome-extension

我在Chrome扩展程序中存储了一些选项。使用localStorage.setItem()。

但是当我想在页面上使用它们时,它不起作用。我知道这是因为它们完全位于不同的域中,但是如何从任何其他域(在我的页面脚本中)中访问我的chrome扩展域中的设置。

谢谢,

2 个答案:

答案 0 :(得分:2)

您可以使用chrome.storage API。

在本地保存:

chrome.storage.sync.set({"key":"value"});

要检索值:

chrome.storage.sync.get("key",function(res) {
console.log(res.key)
});

如果您不希望存储在用户帐户中同步,则可以使用chrome.storage.local代替chrome.storage.sync

Documentation

答案 1 :(得分:1)

在扩展程序域中使用localStorage 非常旧样式,现在不应该这样做。

为此目的,扩展程序chrome.storage API;它在扩展上下文和内容脚本上下文之间共享。

但请注意,它本身就是异步的。

如果您使用sync存储空间,则可以在同一用户的扩展程序安装之间复制免费奖励。

处理它的传统方法是使用Messaging:您的后台页面可以在其上公开get / set方法。但是,在上下文之间进行对话仍然是异步的。免除复杂性并使用chrome.storage