我在Chrome扩展程序中存储了一些选项。使用localStorage.setItem()。
但是当我想在页面上使用它们时,它不起作用。我知道这是因为它们完全位于不同的域中,但是如何从任何其他域(在我的页面脚本中)中访问我的chrome扩展域中的设置。
谢谢,
答案 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
答案 1 :(得分:1)
在扩展程序域中使用localStorage
非常旧样式,现在不应该这样做。
为此目的,扩展程序chrome.storage
API;它在扩展上下文和内容脚本上下文之间共享。
但请注意,它本身就是异步的。
如果您使用sync
存储空间,则可以在同一用户的扩展程序安装之间复制免费奖励。
处理它的传统方法是使用Messaging:您的后台页面可以在其上公开get / set方法。但是,在上下文之间进行对话仍然是异步的。免除复杂性并使用chrome.storage
。