chrome二维码识别查插件

小猫抓二维码

全AI写的,我只写了提示词。 这是一个离线优先的 Chrome 扩展,用于在任意网页中快速识别二维码(图片、截图或上传图片),结果在官方侧边栏展示、支持历史记录与快捷方式。

核心功能

  • 右键图片识别:在任意图片上右键选择「Scan QR code from image」,会自动打开侧边栏并解析本地图片,避免重复下载或依赖远程服务。

  • 截图识别 :通过扩展图标或快捷键(默认 Ctrl+Shift+Q)触发展示截图工具,手动拖选二维码区域后立即识别,未操作或超时 15 秒自动关闭。

  • 本地上传识别 :扩展弹窗和侧边栏都提供上传入口,支持 JPG/PNG/WebP/WEBP,本地 jsQR(bundle)可离线解码多个二维码,并在结果中依次列出。

  • Side Panel 结果展示:扫码结果直接在 Chrome 侧边栏展示,支持展示当前截图/右键图片的预览图,识别失败或找不到二维码时显示红色提示并保留图像;如果识别内容为网址,会以可点击链接形式打开新标签。

  • 历史记录与清除 :所有成功的识别都会写入 chrome.storage.local,侧边栏可随时查看历史、按按钮清空;在弹出窗口也能快速浏览历史并直接点击链接。

  • 状态提示 & 进度反馈:侧边栏状态芯片会体现「识别中 / 成功 / 错误 / 取消」等状态,帮助用户确认当前流水线是否可用。

目录结构

  • manifest.json:Chrome MV3 配置,声明了背景服务工作线程、侧边栏、命令、context menu 等权限。
  • background.js:负责创建右键菜单、响应快捷键、打开侧边栏、处理截图请求并转发给内容脚本。
  • content.js:注入页面,管理截图选择框、调用本地 qr-scanner、缓存识别历史并将结果推送给侧边栏。
  • popup.html / popup.js:扩展图标弹出的现代化 UI,可上传图片、查看历史、启动截图,并把结果同步到侧边栏。
  • sidepanel.html / sidepanel.js:自定义侧边栏的面板视图,展示结果、失败提示、预览图、历史记录和附加操作按钮。
  • utils/qr-scanner.js + utils/jsqr.js:封装 BarcodeDetector + 离线 jsQR 逻辑;capturePreview 方法可用来生成当前图像预览。

使用方式

  1. 安装扩展后点击地址栏右侧图标,可立即上传图片或调用截图按钮。
  2. 在网页任意图片上右键→「Scan QR code from image」即可立即识别并显示侧边栏结果。
  3. Ctrl+Shift+Q 或弹窗「截图识别」启动截图,选区后立即识别;若超时 15 秒未选区会自动取消。
  4. 侧边栏「清除记录」可一键清空历史;历史记录支持点击跳转链接。即使识别失败,也会展示预览图与错误提示,便于排查。

离线能力

所有核心逻辑均在本地执行:利用 Chrome 原生 BarcodeDetector 优先识别,在不可用环境下回退到捆绑的 jsQR,不会依赖网络服务;图像数据都通过 canvas 处理,结果直接保存到浏览器存储,适合隐私敏感场景。

建议

  • 如果页面禁止截图,可能需要手动刷新或重新打开扩展页面;
  • 识别失败时可尝试放大二维码,再次截图或上传;
  • 如需更快捷的唤起,可在 Chrome 快捷键设置中修改 capture-qr 的键位。

欢迎在本地继续定制样式、国际化文本或增加支持其他二维码格式的逻辑。 我让ai 抄了https://github.com/yang-shuohao/QR-Scanner/tree/master/assets 有需要的可以去学习一下。

https://github.com/xinruoyusixian/scanQr 这里下载

相关推荐
子兮曰8 分钟前
深入 HTML-in-Canvas:当 Canvas 学会了渲染 DOM,前端图形生态要变天了
前端·javascript·canvas
ws_qy15 分钟前
从大模型原理到前端 AI Coding 工程化实践
前端·ai编程
倾颜35 分钟前
React 19 源码主线拆解 04:Fiber 到底是什么,React 为什么需要 Fiber?
前端·react.js·源码阅读
AI攻城狮41 分钟前
国产大模型能力大比拼,社区有话说
前端
IT_陈寒1 小时前
Vite的public文件夹放静态资源?这坑我替你踩了
前端·人工智能·后端
涵涵(互关)2 小时前
GoView各项目文件中的相关语法2
前端·javascript·vue.js
子兮曰2 小时前
别让爬虫白嫖你的导航站了:纯免费,手把手实现加密字体防爬
前端·javascript·后端
小村儿2 小时前
连载06 - Hooks 源码深度解析:Claude Code 的确定性自动化体系
前端·后端·ai编程
心中无石马2 小时前
uniapp引入tailwindcss4.x
前端·css·uni-app
焰火19992 小时前
[Vue]可重置的响应式状态reactive
前端·vue.js