Chrome.storage和HTML5中localStorage的差异

摘自某本电子书,地址已经找不到了。


Chrome为扩展应用提供了存储API,以便将扩展中需要保存的数据写入本地磁盘。Chrome提供的存储API可以说是对localStorage的改进,它与localStorage相比有以下区别:

·        如果储存区域指定为sync,数据可以自动同步;

·        content_scripts可以直接读取数据,而不必通过background页面;

·        在隐身模式下仍然可以读出之前存储的数据;

·        读写速度更快;

·        用户数据可以以对象的类型保存。

对于第二点要进一步说明一下。首先localStorage是基于域名的,这在前面的小节中已经提到过了。而content_scripts是注入到用户当前浏览页面中的,如果content_scripts直接读取localStorage,所读取到的数据是用户当前浏览页面所在域中的。所以通常的解决办法是content_scripts通过runtime.sendMessage和background通信,由background读写扩展所在域(通常是chrome-extension://extension-id/)的localStorage,然后再传递给content_scripts

你可能感兴趣的:(APP,前端)