JavaScript语法高亮器1.1版
这是由JavaScript编写的用于网页中代码润色的语法高亮器,目前我只写了针对Java和JavaScript两种语言的高亮器,后备语言不打算在这一版本中添加了,而出现在下一版本。目前它的主要缺点就是每出现一种新语言需要着色的话,都必须重新编写一个js文件来单独对这种语言进行处理(虽然理论上一般只需替换关键字及修改css样式即可)。这样的话如果一个页面中出现了许多种不同的语言就需要载入许多个js文件,如此将大大增加下载量,使得页面显示出现延迟。很显然,这是我们不愿意看到的,新的版本着重将解决这方面的问题。
JavaScript的语法高亮器下载地址:javascript.js
Java的语法高亮器下载地址:java.js
在下一版本中(即2.0版),预计的新特性将是:
大大增强代码的复用程度,即使页面中有许多种不同语言需要同时着色,也只需载入一个较小的js文件即可;将js文件的载入移植到头文件head当中,使得页面内容载入完成后代码即时润色,避免最后载入造成的延时;进一步缩减代码长度,减少下载时间,提升性能;以重构手法提升代码可阅读程度,减少bug;增强可扩展性。
另外,2.0版本完成之后,将预计考虑3.0版中出现的新特性:提供函数展开/折叠功能。
1.1版语法高亮器使用方法:
将需要着色的代码复制到一个textarea内(由于浏览器会将一些特殊字符如“空格、&”等符号转换掉,因此在此之前你需要将代码中的“&”字符全部替换成“&”),textarea的name属性设置成此代码的语言种类。然后将这个textarea放置在一个class为code的div标签内。最后在body结尾处载入这个js文件,并调用其读取代码的方法。
在实际使用时,为了减少js文件长度缩短下载时间(它将成为着色的主要瓶颈),可先使用ESC这款软件进行压缩。一般情况下能获得近一半的压缩率。
以下是用JavaScript语法高亮器着色它自己的例子: