当前位置: 首页 > news >正文

[前端]CRX持久化

在 Chrome 扩展开发中,持久化保存数据通常使用 Chrome 的 storage API。storage API 提供了两种存储选项:localsync。使用 local 存储的数据保存在本地浏览器中,只能在同一设备上访问。使用 sync 存储的数据可以在用户登录其 Google 帐户的所有设备上同步。由于你提到使用的是 crxjs,这可能是通过 Vite 生态系统来构建 Chrome 扩展。以下是如何使用 storage API 来持久化保存数据的基本方法:

使用 chrome.storage.local

1. 存储数据

将数据存储在本地:

chrome.storage.local.set({ key: 'value' }, function() {console.log('Data is stored locally');
});
2. 获取数据

从存储中获取数据:

chrome.storage.local.get(['key'], function(result) {console.log('Value currently is ' + result.key);
});
3. 监听存储变化

如果需要监听数据变化:

chrome.storage.onChanged.addListener(function(changes, area) {if (area === 'local') {console.log('Storage area "local" has changed');console.log(changes);}
});

使用 chrome.storage.sync

1. 存储数据

将数据存储在同步存储中,可以在不同设备之间同步:

chrome.storage.sync.set({ key: 'value' }, function() {console.log('Data is stored and will sync across devices');
});
2. 获取数据

从同步存储中获取数据:

chrome.storage.sync.get(['key'], function(result) {console.log('Value currently is ' + result.key);
});

注意事项

  1. 权限:确保在 manifest.json 中请求所需的权限。
{"manifest_version": 3,"name": "Example Extension","version": "1.0","permissions": ["storage"],"action": {/* your other configurations */}
}
  1. 数据限制chrome.storage.sync 有较小的存储限额(推荐用来存储较小的重要配置),而 chrome.storage.local 的存储限额则较大。

  2. 异步操作storage API 的方法是异步的,因此使用回调函数来处理存储和取数据的结果。

通过上述方法,你可以轻松地在 Chrome 扩展中持久化保存并访问你的数据。如果你有更多关于 crxjs 的具体问题,可能需要查看它的文档以了解更多有关其包装和集成的详细内容。

http://www.lryc.cn/news/534795.html

相关文章:

  • 模型 替身决策
  • 【系统架构设计师】体系结构文档化
  • Python Pandas(5):Pandas Excel 文件操作
  • 区块链技术:Facebook 重塑社交媒体信任的新篇章
  • 跨平台App开发,有哪些编程语言和工具,比较一下优劣势?
  • Windows逆向工程入门之汇编环境搭建
  • 网络安全溯源 思路 网络安全原理
  • 《Peephole LSTM:窥视孔连接如何开启性能提升之门》
  • viem库
  • Iceberg and AIStor 的Lakehouse Architecture 权威指南
  • TCP/IP 协议图解 | TCP 协议详解 | IP 协议详解
  • 第四节 docker基础之---dockerfile部署JDK
  • Arcgis/GeoScene API for JavaScript 三维场景底图网格设为透明
  • 基于javaweb的SpringBoot电影推荐系统
  • 【kafka系列】Topic 与 Partition
  • 大数据项目2:基于hadoop的电影推荐和分析系统设计和实现
  • [笔记] 汇编杂记(持续更新)
  • 同步阻塞IO和多路复用IO(epoll)的性能对比
  • 前端 CSS 动态设置样式::class、:style 等技巧详解
  • qt widget和qml界面集成到一起
  • BUU30 [网鼎杯 2018]Fakebook1
  • 信息科技伦理与道德3-2:智能决策
  • 《代码随想录第二十八天》——回溯算法理论基础、组合问题、组合总和III、电话号码的字母组合
  • PromptSource官方文档翻译
  • USB子系统学习(四)用户态下使用libusb读取鼠标数据
  • Ansible简单介绍及用法
  • 目前推荐的优秀编程学习网站与资源平台,涵盖不同学习方式和受众需求
  • 软件工程-软件需求规格说明(SRS)
  • 运维_Mac环境单体服务Docker部署实战手册
  • UE5.5 PCGFrameWork--GPU CustomHLSL