本地存储

本地存储建议用chrome.storage而不是普通的localStorage,区别有好几点,个人认为最重要的2点区别是:

  • chrome.storage是针对插件全局的,即使你在background中保存的数据,在content-script也能获取到;
  • chrome.storage.sync可以跟随当前登录用户自动同步,这台电脑修改的设置会自动同步到其它电脑,很方便,如果没有登录或者未联网则先保存到本地,等登录了再同步至网络;

需要声明storage权限,有chrome.storage.syncchrome.storage.local2种方式可供选择,使用示例如下:

  1. // 读取数据,第一个参数是指定要读取的key以及设置默认值
  2. chrome.storage.sync.get({color: 'red', age: 18}, function(items) {
  3. console.log(items.color, items.age);
  4. });
  5. // 保存数据
  6. chrome.storage.sync.set({color: 'blue'}, function() {
  7. console.log('保存成功!');
  8. });