我正在尝试创建一个 chrome 扩展程序,但遇到了困难。
我希望能够使用浏览器操作弹出窗口将值写入/修改到本地存储(扩展存储)。
然后,我想在内容脚本中使用存储的值。
根据我的阅读,我似乎需要一个背景文件?但我不确定。
一些编码示例将不胜感激!
感谢您的帮助!
最佳答案
如果您使用chrome.storage
API,您可以避免使用后台页面作为代理。 .这是一种可直接从 Content Scripts 获得的存储解决方案。
Here是它与 localStorage
在 Chrome 扩展上下文中的比较。
需要注意的重要一点是它是异步的,这使得代码比使用 localStorage
稍微复杂一些:
/* ... */
chrome.storage.local.get('key', function(value){
// You can use value here
});
// But not here, as it will execute before the callback
/* ... */
但公平地说,如果您将后台作为数据代理,消息传递仍然是异步的。
有人会争辩说,一旦数据被传递,localStorage
就会作为一个同步缓存。
但是 localStorage
对象与网页共享,这是不安全的,没有人会阻止您拥有自己的同步存储缓存,使用 chrome.storage.local.get 初始化一次(null,/*...*/)
并通过 chrome.storage.onChanged
监听器保持最新。
关于google-chrome - 通过popup修改本地存储,并在contentscript中使用存储值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25559438/