最近用js写了一个用完形填空的方式进行单词语境快速识记的程序: Milkyway-Cloze

感谢 @QThePerfect 开源代码;
我用了一周多的空余时间,针对自己的习惯,做了些相应修改(称:Milkway-Cloze-Plus);
主要是为了配合MDict、 MDictCapture使用,所以该Milkway-Cloze-Plus更适合用来阅读双语例句( 例:利用碎片化时间,突破英语30000词,下方附有TXT版),还有,双语字幕英文在中文在

图例:





【新增功能介绍】:

1、右侧单词列表添加了序号;可放到左侧,或者隐藏(然后使用MDict搭配牛津8朗文柯林斯均可;若为了在例句语境中学单词,不推荐右侧自带的释义);【COPY】还可一键复制列表中的生词,然后使用其他工具进一步处理(例: danci88、Anki);

2、正文部分:

  1. 用 正则 匹配了中文,所以可换行、可隐藏
  2. 英文字体大小可调;
  3. 标注出来的单词,点击时有红色状态框;
  4. 空格键,可切换该处为填空,再次空格键,可还原;并对输入做了优化,非填空状态,不能输入,退格键一次删除一位;
  5. 焦点从某个标注的单词移开时,上一个和下一个都会有拼写检查,错误会有弹窗提示;焦点移动至输入错误的位置时,可直接编辑修改;亦可使用4【空格键】直接还原;
  6. 左键双击 未被标注的单词 ,会获取网络发音(有道)、复制(用于唤起MDict查词),并变浅红色;
  7. 左键单击浅红色,可直接复制、发音;
  8. 右键 单击 浅红色标注的单词时,会取消标注(不会生成填空);
  9. 鼠标划过7处理过的单词时,光标会有变化,予以提示;
  10. 双击8中提到的单词,则可以再次 分别 赋予标注状态;
  11. 添加了方向键作为上一个下一个切换,已屏蔽方向键默认功能,屏幕不会滚动;(options.js可修改前进步数,默认为5)

3、导出时会将浅红色的词一并导出;亦可从历史文件中批量导入;
4、可全屏模式;【F11】亦可;
5、check.js我写的,暂时没有用到;
6、关于等级(使用默认CET-6即可):

  1. 若想某个单词能够 填空,就先看看【badList.js】里有没,有就注释掉,没有就把它添加到【dict9k.js】末尾;
  2. 若想某个单词 不再出现填空,就把它添加到【badList.js】末尾即可;
  3. 由于浏览器无法直接操作本地文件,所以只能手动增删;

7、推荐使用黑色主题

大概就是以上内容了;主要是对操作上细节的处理,优化使用体验
可能会存在未知的bug,不过目前可正常使用【测试平台:Edge浏览器】;
可能关于某个文件的功能 理解有误,见谅;
感谢 @QThePerfect 已经做了完整的功能,有许多设计都很巧妙;

【Milkway-Cloze-Plus】下载(附有突破英语30000词_例句版(txt)):
下载地址(蓝奏云):https://wwz.lanzouw.com/b037gqo1i
密码:e52p

另外,制作的其他工具见:胡桃的精通沙
按键说明: ReadMe

更新:(更新文件见上方蓝奏云,下载【最新】并替换对应文件)

  • 偷看一眼(当处于【中文-隐藏】模式时生效
    偷看一眼
  • 添加【生词】按钮,快速定位至生词列表(可在阅读文章前阅览一遍生词);
  • 右侧生词列表、释义列表,右键单击黄色、绿色单词,可使文中取消标注(用于取消简单词的标注);
    右键取消标注
  • Ctrl+Z撤销上述操作【由于存在BUG,取消文中右键单击功能】

  • 单词释义列表同步文章窗口滚动
    单词释义列表同步文章滚动
  • 合并【生词】【COPY】按钮,设置独立的生词弹窗;右键单击【生词】一键复制;
    生词弹窗

  • 增加了COCA20000词典文件dict2w.js,其中包含了大量基础词汇,没有去除;在【English level】中选择;点击【Click To Start】生效;
  • 增加了【导入badList】按钮,用于屏蔽基础词汇,可在顶部文本框中批量导入,亦或是在单词列表右键单击导入该单词(Ctrl+Z可撤回);
  • F12打开控制台,找到【应用程序】下的【本地存储】badList条目,【复制object】即可复制到剪贴板,可粘贴到记事本查看;
    image
  • 增加【+】【-】用于调整文本输入框中的字体尺寸;
  • 增加【查看已屏蔽】读取localStorage中保存的badList,输出到文本框,用于查看已经屏蔽了多少词汇;

后续更新,见新帖:

7 个赞