Skip to content

FishDuM/PopWord

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PopWord 弹词 - 单词学习浏览器插件

PopWord 弹词是一款 Chrome 浏览器插件,在网页任意位置点击即可弹出单词与释义,并支持发音与历史记录,方便在浏览时碎片化背词。


功能特性

核心学习

  • 点击/按键出词:左键或自定义按键显示「下一个」单词,右键或自定义按键显示「上一个」单词
  • 随机顺序:词库加载后自动打乱顺序,每次使用都是随机序列,避免固定顺序记忆
  • 双语显示:可设置「单词与释义同时出现」或「先出英文再出中文」分步显示
  • 浮动动效:单词以浮动气泡形式出现,可调节消失时间(1~10 秒)

发音与词库

  • 发音播放:支持自动读词,可自定义音频 API(默认有道词典),失败时回退 Web Speech API / 百度 TTS
  • 词库选择:自动扫描 word/ 目录下 JSON 词库,支持多词库切换,默认 CET4
  • 音频预加载:后台错峰预加载部分单词发音,减少点击时的卡顿

记忆与记录

  • 学习历史:自动记录当前词库下的学习记录,按日期分组,可限制条数
  • 监控面板:在弹窗内查看历史记录,支持点击单词再次播放发音
  • 进度与持久化:遍历位置与历史防抖写入存储,关闭页面前自动落盘,减少卡顿

功能开关与设置

  • 关闭/开启弹词:在功能菜单中一键关闭或重新开启弹词,状态同步到当前页并持久保存
  • 自定义按键:可设置「下一个/上一个」由键盘或鼠标左/右键触发
  • 删除缓存:清除音频缓存与学习历史
  • 重置词库:从词库第一个单词重新开始(随机顺序下为新打乱序列)

安装方法

  1. 克隆或下载本项目到本地
  2. 打开 Chrome,进入 chrome://extensions/
  3. 打开右上角「开发者模式」
  4. 点击「加载已解压的扩展程序」,选择本项目目录

使用说明

  1. 安装后点击浏览器工具栏的 PopWord 弹词 图标打开设置面板
  2. 在设置中可配置:
    • 单词与释义是否同时出现
    • 是否播放发音、元素消失时间(秒)
    • 词库、音频 API、下一个/上一个单词的触发方式(鼠标左/右键或键盘按键)
  3. 点击「保存设置」使配置生效
  4. 在任意网页中:
    • 左键(或你设置的「下一个」按键)→ 显示下一个单词
    • 右键(或你设置的「上一个」按键)→ 显示上一个单词
  5. 功能菜单中:
    • 关闭弹词:暂时关闭点击出词,再次点击变为「开启弹词」可恢复
    • 删除缓存:清除音频缓存与学习历史
    • 重置词库:从词库开头重新开始
    • 监控面板:查看并按日期浏览学习历史,点击单词可播放发音

项目结构

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 数组,每项建议包含 wordtranslations,例如:

[
  {
    "word": "abruptly",
    "translations": [
      { "translation": "突然地", "type": "adv" }
    ]
  }
]

将词库文件放入 word/ 目录后,在弹窗的「词库选择」中即可选用。


词库来源

示例词库来源于 KyleBing/english-vocabulary


开发与调试

  • 修改 content.js 可调整出词逻辑、随机顺序、防抖与关闭开关行为
  • 修改 popup.html / popup.js 可调整设置项与功能菜单(关闭弹词、监控面板等)
  • content.js 顶部将 DEBUG 设为 true 可开启控制台调试日志
  • 新增词库:在 word/ 下添加符合上述格式的 .json 文件即可

免责说明

本项目仅供英语学习使用;若使用第三方词库或音频 API,请遵守其许可与使用条款。


未来更新

  • 更多词库可选择
  • 鼠标悬浮在卡片时将持续存在

希望 PopWord 弹词能帮助你在浏览网页的同时轻松背单词。

About

基于 Chrome 扩展的英语学习插件。支持四级、六级等英语词汇。在网页上通过左/右键点击切换单词,支持发音、浮动展示、多词库、学习记录与缓存管理,助你边浏览边记单词。

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors