updated by lbhl (webeyes) June 30, 2023
(1)重新处理扫描页面,去除白边,充分利用屏幕宽度
(2)增加功能:点击页面左(右)半部分,跳转到前(后)页,如果前(后)页不存在则追加前(后)页;长按页面左(右)半部分,追加首(末)页至该页之间所有页面。
图片词典相对于文字版词典最大的优势,除了不会有文字版的错漏之外可能就是可以前瞻后顾地看到所查之词前后关联的内容了。比如传统的按字母顺序排列的英汉词典就可以看到不少派生词扩大词汇量,这是文字版不可能做到的。现在流传的图片词典都是静态的,每一个词条对应的显示页面都写死在mdx中,如果还想看到前后的页面,词库作者一般都会在当前页面的上方和下方提供新页面的链接,这些链接的本质是一个词头,我称之为“页码词头”。点击页码词头后就可以跳转到新查询这个页码词头页面了。然而美中不足的就是这“跳转”惹的祸:当前显示的页面内容因为跳转新查询而全部抹去,转而显示新的页码词头对应的页面。如果当前页面内容和新页面内容有关联想让它们同时显示对照着看可以吗?回答是否定的!不可以同时看!你不得不后退前进来回切换着看才行。如果还同时打开了好多词典,则后退速度可能比较慢,因为每一个后退对词典软件来说可能都是一个新查询。不排除词典软件可能将已查询的页面Dom树缓存在内存中不销毁,然而,但实际操作经验告诉我大多数情况下后退的速度都和一个新查询没什么区别,什么原因?你可以去看看GoldenDict或者通用浏览器渲染一个大一点的HTML要多少内存就知道了,如果同时打开几十个甚至几百个词典而查的词又如make这样释义量大,那么一次查询内存消耗上GB的量级是很常见的,你还认为这些词典软件会在前进到新页码词头之后不销毁而保留之前的内存数据吗?或许,如果你在Windows下可能词典软件的Windows版允许你在新标签页打开,只要这些标签页没有被冻结,那么的确它们都是在内存中准备好给你看的,切换起来很迅速。但不管怎样,你也得在标签之间切换吧?想同时显示两个页面还是没门儿!最后,还是有办法曲线救国的,你可以另开一个词典软件不就可以了吗?词典软件不允许多开对吧?那可以开不同的词典软件查同一个词啊。或者实在不行,你还可以用VMWARE开虚拟机在虚拟机里再打开同样的词典软件。
看到这些,是不感觉太麻烦,查一个词用得着这么大费周折吗?!现在好了,我这有动态插入页面的JS程序问世了,当你想看前后页面的时候只要在页面左侧或者页面右侧点击一下就可以了,新页面会自动在当前页面的前面或后面插入,注意,这可不是点击页码词头的跳转的效果,根本就没有跳转没有新的词头查询,即使新页面出现了还是位于刚才查询的那个词头下,所有打开着的词典的内容还好好地在那儿继续显示呢!现在你也可以同时看到邻近页面对照参考了,再没有来回切换的麻烦!如果你不停点击,添加的页面会越来越多直到词典第一页或者最后一页;或者只做一次按下鼠标超过一秒再抬起的长按动作,也可以一次动态添加多个页面到第一页或者最后一页。就是说,查任何一个词,只要你愿意,都可以通过这种点击动态添加页面的方法将整部词典页面全部显示完。
其实,这并非什么新技术。三年前我就在隔壁上传过这种技术制作的词库,但是发现竟然没有人借鉴过去这种思路去做新的图片词典,静态图片词典仍旧在继续。从编程角度说,这个可比我写的那个牛津同义词学习词典的嵌套查询动态添加页面简单容易多了,有点JS基础的同学其实都可以弄出来。这里要告诉大家其中有一个坑,GoldenDict中你不可以简单地将一个图片文件名插入,因为它已经将其映射到内部一个服务器上的地址了,程序得修改文件路径才行,否则插入的页面图片会被其认为不存在而不会显示的。具体怎么做看我的程序吧。有我这个前人探路踩过坑,你就可以少花不少时间了,我当时可是搞了半天才探索出问题出在哪儿。
本词库原版当一个单词有多个页面时候竟然做出了多个相同词头的entry在MDX中,每一个entry中一个页面(如单词let)。个人是不喜欢这种处理方式的。花了点时间通过JS程序处理了这种问题,之前未处理的时候会有缺失页面无法追加出来的问题,现在已解决。
2023年7月5日更新:
图片词典一般制作成页面图片宽度等于词典软件窗口的宽度,如果调整词典软件窗口的宽度,页面图片宽度也随之更改。这种处理的问题是如果词典软件窗口宽度很大的时候页面宽度可能太大从而视野变小,同样的屏幕只能看到更少的页面内容了。因此希望页面宽度有一个封顶的最大宽度值,当词典软件宽度超过此封顶值时页面宽度不再随之增加。在CSS最后加入一句指令即可实现:
div.mainbodyimg img { max-width: 600px; }
词库+电子书pdf下载链接:百度网盘 请输入提取码
提取码:vlh8