我正在编写一个浏览器插件,旨在自动从互联网上删除已知的 child 性虐待图片。目前我正在使用 LocalStorage 来保存图像源列表(src url)问题是这样的:
用户在 http://Server1.com 上发现了 CSA 图像- 右键单击它并报告它。当用户转到 http://server3.com/image.jpg 时,src url ( http://server2.com ) 被保存到 LocalStorage使用该域的新 LocalStorage。所以即使http://server2.com具有相同的图像,其来源为 http://server3.com/image.jpg分机不知道它已经被报告过。或者至少它看起来是这样工作的。
那么问题来了: IndexedDB 是否跨域共享信息? 和 我是否正确理解了 LocalStorage 的范围?
最佳答案
您正在内容脚本上使用 LocalStorage。内容脚本在您注入(inject)它的页面的上下文中执行。这就是为什么您最终要为每个域使用单独的 LocalStorage 实例。
这个问题与 IndexedDB 相同。
如果你想在所有域之间共享存储,你需要从你的扩展程序的后台页面使用 LocalStorage/IndexedDB,然后使用 Chrome 的消息传递 API 从内容脚本访问。
如果您想扩展到超过数千个 url,您可能需要从 LocalStorage 切换到 IndexedDB,后者性能更高并且具有您需要的搜索功能。
关于javascript - IndexedDb 的范围是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32034840/