我正在为Chrome编写一个打包应用。使用背景页面(而不是应用程序的主HTML页面)来读取/写入localStorage值是否有优势?
目前,用户似乎正在以无法复制的方式丢失数据。现在,应用程序在主HTML页面的JavaScript中读取和写入localStorage。更改应用程序以使用后台页面的JavaScript修复此问题吗?
答案 0 :(得分:0)
LocalStorage限制为5兆字节。
当用户在chrome:// settings / clearBrowserData上检查“删除Cookie和其他网站及插件数据”时,我相信网站特定和扩展名localstorage文件都会被删除。也许这就是您的用户“丢失”数据的方式。
使用后台页面读取/写入localstorage 可防止从其他扩展中损坏您的数据,这可能发生在站点域localstorage文件中,因为只有您的后台页面可以访问该文件。
虽然其他扩展程序确实可以调用您的后台页面,但他们仍然必须使用您的保存/加载功能来访问您的扩展本地存储文件。
答案 1 :(得分:0)
问题可能出在localStorage容器的上下文中。从后台脚本运行时,您将保存扩展的localStorage。从内容脚本运行时,您将保存到该特定网站的localStorage。由google.com页面上的内容脚本编写的localStorage.setItem('xx','yyy')无法通过yahoo.com上的内容脚本调用localStore.getItem('xx')来读取