我在自己阅读英文文章、并从有道词典查询单词的过程中发现,相比于两三个中文字的单词意思解释,柯林斯词典提供了一定的英文语境可以帮我 更准确地 理解一个单词的意思,并加深记忆,我渐渐地也就变得只看柯林斯的解释。加之在 chrome store 上并没有搜到太多 collins 词典的扩展( FairyDict 支持),于是便有了这个应用。
这个扩展提供:
两种选择。当然也可以关掉划词翻译。
前面说到 FairyDict,这个扩展与 FairyDict 最大的不同在于这个扩展应用并不是用 iframe 直接访问词典页面。并且这个扩展也没有使用 api 请求数据,而是直接爬取页面获得数据,这样我就能自由的控制展现,让 UI、体验更加简介而一致,并且理论上也不会被 api 访问次数所限制。
而 js 社区中好用的、css selectors 形式的静态页面解析工具非cheerio莫属。但 cheerio 依赖 node native 模块,没办法直接用在 Chrome Extension (或 React Native )上。不过我之前稍微修改了 cheerio 的代码和它的依赖的代码 - cheerio-without-node-native,可以让我们充分利用在 js 客户端上爬取页面数据的能力。
对源码有兴趣的同学可以看这里(react 应用):
感觉直接在客户端上爬取页面,可以做很多事情,而且连服务器都不用
1
SkyLanD 2017-05-15 20:37:43 +08:00
非常好用,已经安装,谢谢…
|
3
puyo 2017-05-16 08:07:28 +08:00
可以添加一个快捷键,用于打开词典查询栏。
|
4
henices 2017-05-16 09:20:45 +08:00
给各位推荐一下 goldendict https://github.com/goldendict/goldendict
|
5
oyyd OP @puyo 我也有过同样的想法,但是 chrome extension 设计上好像不支持打开 popup page [stackoverflow]( http://stackoverflow.com/questions/4908647/how-can-i-open-my-chrome-extensions-popup-page-from-the-extensions-content-scr)
|
6
greatghoul 2017-05-16 10:27:03 +08:00
|
7
puyo 2017-05-16 10:28:17 +08:00
@oyyd #5 你可以看一下这个,https://chrome.google.com/webstore/detail/%E5%88%92%E8%AF%8D%E7%BF%BB%E8%AF%91/ikhdkkncnoglghljlkmcimlnlhkeamad
这个可以通过 ctrl + Q 来弹出查询栏。 |
8
greatghoul 2017-05-16 10:28:41 +08:00
@oyyd 给你一个思路,popup page 是可以通过快捷键打开的,设定一个组合键,然后激活后从 activeTab 中拿 selection,在 popup 中翻译。就可以实现这个效果了。
|
10
oyyd OP @greatghoul 我仔细想一下
|
11
GaoMjun 2017-05-16 18:46:09 +08:00
不错
|
12
oyyd OP @puyo @greatghoul commands 是可以打开 popup page 的,问题是在文档上,无论是 commands 的文档还是 browser action 的文档都没有列出这一点,我只在官方 example 上找到了同样场景的例子。
我更新了发布了版本,ctrl+q 打开 popup 页面(不再重新定义键位,至于为什么没有 meta+q..),同时修复了同义词上的一些问题。 |
13
oyyd OP 另外才发现划词翻译的 chrome 扩展太多了(虽然支持 collins 的不多),还是尽可能做一些新领域下的东西会更合适,也避免重复造轮子(不过这个扩展是我自己爱用的,至少让自己爽到了)。
不知道大家对查询英文单词的需求是怎么样的?比如说有自己觉得更适合的词典选择?或是说“有 xx 功能能让我沉迷于学习”?我个人觉得单词本应该是个很有用的功能,或许有哪些成熟应用的单词本是值得这么一做的 |
14
resuly 2017-05-19 09:59:20 +08:00
可以参考一下 Grammarly for Chrome 的 Show Definitions and Synonyms via Double Clicks
个人使用感觉,“划词翻译”某种程度上来说不如“双击翻译”来的方便,因为单纯的划词经常会误操作(比如 input 输入框选中删除),按住 ctrl 划词再放手又有点繁琐。英文单词不像中文的句子,可以一下双击选中,建议增加双击模式。 另外,UI 可以再更好一点的(参考 Grammrly )。 |
15
oyyd OP @resuly 感谢回复和建议。我自己的情况更多是查询单词的意思,浏览器上双击英文单词的作用相当于划词,所以我自己最常用的做法 meta + 双击单词。但这种做法还是和“双击模式”有所不同,我会加进“双击模式”,感谢你的建议。
要是能直接展示同义词会是一个很有用的功能,但是恐怕从有道上爬取的数据源里面很难做到这一点。UI 这一点上,我会尽力而为(难以掩盖自己在这方面的薄弱) |
16
oyyd OP 已经发布 1.0.8 版本,修复了部分 bug,添加了双击模式
|