最近,我都是使用雅虎字典,觉得不错,就是取词不方便。想到Bookmarklet(也称书签栏快捷键、Javascript快捷键)应该可以简化取词过程,搜,果然,Jan’s Tech Blog有这样的Bookmarklet。只是字典是香港Yahoo和香港新浪的,就修改成查雅虎字典的。成品如下,用鼠标拖曳到书签栏就可以了。

查雅虎字典
查雅虎字典(英英)
查雅虎字典(新窗口)
查雅虎字典(英英-新窗口)

p.s: 同样不支持查中文

我大概说一下如何修改,客官们也可以自己按需定制。(我不懂Javascript,完全是依葫芦画瓢)

Jan’s Tech Blog的Yahoo!字典代码是:

javascript:e = %22%22 + (window.getSelection ? window.getSelection() : document.getSelection ? document.getSelection() : document.selection.createRange().text);if (!e) e = prompt(%22%E6%83%B3%E6%9F%A5%E9%82%8A%E5%80%8B%E5%AD%97%EF%BC%9F%22, %22%22);if (e!=null) location=%22http://hk.dictionary.yahoo.com/dict?s=%22 + e.replace(/ /g, %22+%22); void 0

这个Bookmarklet的好处是即使没有选中单词,直接点击也会弹出一个对话框让你输入单词。

我修改的查雅虎字典代码是:

javascript:e = %22%22 + (window.getSelection ? window.getSelection() : document.getSelection ? document.getSelection() : document.selection.createRange().text);if (!e) e = prompt(%22%E6%83%B3%E6%9F%A5%E4%BB%80%E4%B9%88%E5%AD%97%3F%22, %22%22);if (e!=null) location=%22http://zidian.cn.yahoo.com/result_en2cn.html?p=%22 + e.replace(/ /g, %22%22); void 0

其中%22是双引号”,%E6%83%B3%E6%9F%A5%E4%BB%80%E4%B9%88%E5%AD%97%3F是符号化的“想查什么字”。(在Wordpress里放Bookmarklet,必须把双引号和中文字符转化成%的鬼画符)两相对照,就可以发现我仅是把http://hk.dictionary.yahoo.com/dict?s=替换成http://zidian.cn.yahoo.com/result_en2cn.html?p=。英英字典也只不过是把en2cn改为en2en

查雅虎字典(新窗口)代码多了下面一段:

void(cha=window.open(‘http://zidian.cn.yahoo.com/result_en2cn.html?p=’ + e, ‘_blank’, ‘scrollbars=yes,width=600,height=450, left=75,top=20,status=no,resizable=yes’));

窗口样式可以自定参数设置。

更多功能的Bookmarklet可以到这里查找。