这两天苦读AJAX相关资料,叹国内中文资源少之又少,被逼无奈猛啃英文,不敢说AJAX学懂了多少,英文阅读能力感觉有点提高了(汗...)
AJAX的相关知识请看我Blog里的两篇中文介绍(一,二),在这里我就不再罗列了。
程序原理是通过XMLHttpRequest将待翻译的数据提交到远程翻译网站(这里用的是http://babelfish.altavista.com/tr这个网站的在线翻译),并得到翻译结果显示出来。看似简单,也照实让我搞了整整一天。
当前版本实现的功能和特点:
- 1、本地打开工具页面,输入句子进行翻译,支持中英文互译;
- 2、翻译时不刷新不提交页面,便于集成到其他页面;
- 3、支持在浏览器中选中文本后点击右键菜单进行即时翻译,中英文互译;
- 4、全部功能只有一个文件,如果需要右键功能,只需导入一个Reg文件即可;
- 5、翻译支持词、句,建议用来翻译句子,如果是词还是用金山词霸更方便点;
- 6、几乎是零资源占用,翻译花费时间和网速成正比,最快只需半秒;
主程序代码:(全选拷贝保存为.htm)
IE右键菜单Reg文件代码:(全选拷贝保存为.reg)
使用方法:将fy.htm放入本地磁盘任何地方都可,同时用记事本打开fy.reg修改其中的路径,比如将fy.htm放入C:\WINNT\System32\目录下,打开fy.reg修改原先的C:\\fy.htm为C:\\WINNT\\System32\\fy.htm即可,注意路径中的"\"在注册表文件中必须要"\\"表示。
当前版本还不是很理想,遗憾和缺陷处有下列:
- 1、页面无法在远程主机上执行,因为XMLHttpRequest限制了无法跨域执行。
- 2、右键翻译异步方式不起作用,只能用同步方式,所以在执行后页面变成无响应,直到翻译结果显示后。这一点违背了AJAX的Asynchronous的特点,很是遗憾,正在想办法解决。
- 3、由于远程翻译网站的限制,一次最多翻译150个word。
- 4、代码修修补补写的仓促零乱,热心人可以重新组织页面,让代码集成度更高更易阅读
下一步待加入的功能:
- 1、彻底支持远程调用,估计无法使用AJAX技术,得借助iframe咯;
- 2、右键翻译支持异步调用,这样可以在网速较慢或者断线时页面无需长时间无响应;
- 3、支持多网站翻译,比如加入金山在线翻译的Result;
- 4、代码重新整理,使其更整洁更易读和移植方便;
作者:duduwolf
Mail:duduwolf@hotmail.com
时间:2005-05-10
网址:http://duduwolf.winzheng.com
说明:本程序可任意下载使用或转载,但请保留版权信息;本程序可任意修改,请将修改后版本给作者发一份