PopWord 弹词是一款 Chrome 浏览器插件,在网页任意位置点击即可弹出单词与释义,并支持发音与历史记录,方便在浏览时碎片化背词。
- 点击/按键出词:左键或自定义按键显示「下一个」单词,右键或自定义按键显示「上一个」单词
- 随机顺序:词库加载后自动打乱顺序,每次使用都是随机序列,避免固定顺序记忆
- 双语显示:可设置「单词与释义同时出现」或「先出英文再出中文」分步显示
- 浮动动效:单词以浮动气泡形式出现,可调节消失时间(1~10 秒)
- 发音播放:支持自动读词,可自定义音频 API(默认有道词典),失败时回退 Web Speech API / 百度 TTS
- 词库选择:自动扫描
word/目录下 JSON 词库,支持多词库切换,默认 CET4 - 音频预加载:后台错峰预加载部分单词发音,减少点击时的卡顿
- 学习历史:自动记录当前词库下的学习记录,按日期分组,可限制条数
- 监控面板:在弹窗内查看历史记录,支持点击单词再次播放发音
- 进度与持久化:遍历位置与历史防抖写入存储,关闭页面前自动落盘,减少卡顿
- 关闭/开启弹词:在功能菜单中一键关闭或重新开启弹词,状态同步到当前页并持久保存
- 自定义按键:可设置「下一个/上一个」由键盘或鼠标左/右键触发
- 删除缓存:清除音频缓存与学习历史
- 重置词库:从词库第一个单词重新开始(随机顺序下为新打乱序列)
- 克隆或下载本项目到本地
- 打开 Chrome,进入
chrome://extensions/ - 打开右上角「开发者模式」
- 点击「加载已解压的扩展程序」,选择本项目目录
- 安装后点击浏览器工具栏的 PopWord 弹词 图标打开设置面板
- 在设置中可配置:
- 单词与释义是否同时出现
- 是否播放发音、元素消失时间(秒)
- 词库、音频 API、下一个/上一个单词的触发方式(鼠标左/右键或键盘按键)
- 点击「保存设置」使配置生效
- 在任意网页中:
- 左键(或你设置的「下一个」按键)→ 显示下一个单词
- 右键(或你设置的「上一个」按键)→ 显示上一个单词
- 功能菜单中:
- 关闭弹词:暂时关闭点击出词,再次点击变为「开启弹词」可恢复
- 删除缓存:清除音频缓存与学习历史
- 重置词库:从词库开头重新开始
- 监控面板:查看并按日期浏览学习历史,点击单词可播放发音
PopWord/
├── word/ # 词库目录(自动扫描 .json)
│ └── CET4-顺序.json # 示例词库
├── content.js # 注入页面的核心逻辑(出词、随机顺序、防抖、开关)
├── popup.html # 扩展弹窗页面(设置与功能菜单)
├── popup.js # 弹窗逻辑(设置读写、关闭/开启弹词、监控面板等)
├── options.html # 可选:独立选项页
├── options.js # 可选:选项页逻辑
├── styles.css # 弹词样式
├── manifest.json # Chrome 扩展配置(Manifest V3)
├── icon.png # 扩展图标
└── README.md # 本说明
- 前端:HTML、CSS、JavaScript(无构建)
- 扩展:Chrome Extension Manifest V3
- 存储:
chrome.storage.sync(设置)、chrome.storage.local(进度与历史) - 音频:优先使用自定义 API(如有道),失败时 Web Speech API / 百度 TTS
- 性能:词库随机打乱(Fisher-Yates)、存储防抖与批量写入、音频错峰预加载,减轻卡顿
词库为 JSON 数组,每项建议包含 word 与 translations,例如:
[
{
"word": "abruptly",
"translations": [
{ "translation": "突然地", "type": "adv" }
]
}
]将词库文件放入 word/ 目录后,在弹窗的「词库选择」中即可选用。
示例词库来源于 KyleBing/english-vocabulary。
- 修改
content.js可调整出词逻辑、随机顺序、防抖与关闭开关行为 - 修改
popup.html/popup.js可调整设置项与功能菜单(关闭弹词、监控面板等) - 在
content.js顶部将DEBUG设为true可开启控制台调试日志 - 新增词库:在
word/下添加符合上述格式的.json文件即可
本项目仅供英语学习使用;若使用第三方词库或音频 API,请遵守其许可与使用条款。
- 更多词库可选择
- 鼠标悬浮在卡片时将持续存在
希望 PopWord 弹词能帮助你在浏览网页的同时轻松背单词。