gpt4 book ai didi

javascript - Chrome 扩展程序可以使用客户端存储吗

转载 作者:行者123 更新时间:2023-12-02 16:35:30 26 4
gpt4 key购买 nike

我有一个 Google Chrome 扩展程序,需要检查客户端正在查看的 URL 以确定某些行为,但行为会根据 URL 的不同而有很大差异。

它的变化方式是,最有用的数据结构类型类似于以 url 作为主键的数据库。

是否可以为此利用客户端存储?我希望在浏览器本身加载时加载数据库,这样扩展程序就可以从那里获取其信息,而不必在事件页面中加载巨大的 DS。

我认为这是可能的,但我正在阅读的有关客户端存储的内容说它是根据 url 分配的。

那么,我的 Google Chrome 扩展程序是否可以利用客户端存储,如果可以,如何利用?

最佳答案

你有很多选择。

好老的localStorage绑定(bind)到来源,而不是 URL。对于您的扩展程序的内部页面,例如背景页,永远都是chrome-extension://<your-id-here>/ 。内容脚本不会出现这种情况,但您可以使用后台页面作为数据存储的“服务器” Messaging .

更好的选择是 chrome.storage API 。它为扩展脚本和内容脚本提供对同一存储的访问。

这两个选项都是键值存储。如果您需要合适的数据库,您有更多选择。

明显的一个是 IndexedDB 。我想它也绑定(bind)到域,所以您的后台页面应该再次进行存储访问,并且内容脚本(如果有)必须向它发送消息。

另一个解决方案是 WebDatabase ,该规范已不再处于标准轨道上,但 Chrome 可能暂时不会放弃对其的支持。相同同源

稍微更奇特的是使用 HTML FileSystem托管您想要的任何数据库 - 例如SQLite。同样,这是一个非跨浏览器解决方案,但 Chrome 可能会继续支持它。

关于javascript - Chrome 扩展程序可以使用客户端存储吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27972284/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com