以前写的有问题,编辑下。
研究了半天,原来 Chrome 扩展不支持文件存储,只能使用 chrome.storage
保存持久化数据。
提供两种形式,一种可以在浏览器间自动同步,适用登录用户保存设置,比如微博的“眼不见心不烦”,chrome.storage.sync
,提供一个 key 8K,最大512个 key,总数据量100K(即不可能512个 key 都装满)的存储。这个方式对读写频率也有限制,想想也好理解,比精要往 Google 的云同步嘛。
另外一种则更接近平时用的 localStorage
,叫 chrome.storage.local
。它的限制很少,只要总量不大于5M即可(可以通过设置 unlimitedStorage: true
来取消上限)。
使用的时候,需要在 manifest.json 里声明权限
{
"permissions": [
"storage"
]
}
这样的话就比较符合我的预期了,用户可以任意保存字幕到本地,太多了自己删掉就是,如果希望云同步就付费或者看广告。
欢迎吐槽,共同进步