最近刚结束了插件项目开发,故总结一些项目中用到的插件开发chrome的API,如有错误,期指出~
chrome.storage.sync/chrome.storage.local
使用chrome.storage API 存储用户数据,追踪用户数据的更改
这是为插件存储需要而特别优化的api,它提供了与localstorage API相同的功能,但是还是有以下区别:
1. 用户数据可以通过chrome浏览器的同步功能自动同步(storage.sync)
2. 使用storage.sync,存储的数据将会自动在用户启用同步功能并已经登录的所有的chrome浏览器间同步
3. 插件可以直接访问用户数据,不需要后台页面,直接storage里头取
4. 异步的,并且能够进行大量的读写操作。因此比阻塞和串行化的localStorage API更快
5. 用户数据可以存储为对象(localStorage API以字符串方式存储数据)
注: 我认为这个方式存储,只是同步数据,并没有界面可以看,只有console出来,background页和content页都可以访问查取 并且只有重新加载插件,才可能删除之前的记录
chrome.storage.sync.get({
autoIsOpen : 'true' // 是否自动开启
}, (items)=>{
console.log(items.autoIsOpen);
});
chrome.storage.sync.set({
isUserKown : true // 是否用户指定
});
复制代码
sessionStorage/localStorage
注:这个方式存储,就可以通过打开插件的背景页(background.html),能看到存储的一些数据,并且可以对着右键clear掉
- sessionStorage 会话清除 当页面关闭时 清除
- localStorage 存储没有到期日期的数据 当浏览器关闭时 数据不