javascript - IndexedDb 的范围是什么

标签 javascript html google-chrome-extension local-storage indexeddb

我正在编写一个浏览器插件,旨在自动从互联网上删除已知的 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,后者性能更高并且具有您需要的搜索功能。

这是消息传递文档:https://developer.chrome.com/extensions/messaging

关于javascript - IndexedDb 的范围是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32034840/

相关文章:

javascript - Chrome 扩展程序化 UI 注入(inject)

JavaScript 从文本字符串 PUT 文件

javascript - 禁止 div 中的 javascript

javascript - 页内声音警告

javascript - 在 Opera 中解析整数

html - 嵌入 flv 文件作为横幅

javascript - 插入音频元素会导致 CSS 错误

javascript - 我如何包含一个具有自动高度的子 div -- Jwplayer

css - 带有 html5 标题标签的 960 网格

javascript - 如何捕获从 Chrome 扩展程序以编程方式注入(inject)的 JavaScript 中的错误?