SyntaxHighlighter代码加色使用方法


Posted in Javascript onSeptember 07, 2008

它可以在网页中对各种程序源代码语法进行加亮显示。支持当前流行的各种编程语言:C#、CSS、C++、Delphi、Java、JavaScript、PHP、Python、Ruby、SQL、Visual Basic、XML / HTML

下载地址:http://www.dreamprojections.com/syntaxhighlighter/
或http://code.google.com/p/syntaxhighlighter/
演示地址:http://www.dreamprojections.com/syntaxhighlighter/Tests/PHP.html

该工具核心基于javascript,使用起来很简单:

1、假设网页文件test.htm存放在一个目录,将dp.SyntaxHighlighter解压缩,并复制其中的Scripts文件夹和styles文件夹,确保和test.html在同一个目录下面。

2、在网页的<head></head>之间插入以下代码:
<link type="text/css" rel="stylesheet" href="Styles/SyntaxHighlighter.css"></link>

3、在网页要显示程序源代码的地方插入以下代码,若是HTML类型的话,用XML(其它的如class="js"表示以js语法显示源代码,其他可设定的class值分别为c#、css、c、elphi、java、js、php、python、ruby、sql、vb、xml):

<textarea name="code" class="js" rows="15" cols="100">
程序源代码放在这儿
</textarea>

说明:
name="code"是必须的,不能更改;
class="xml"是着色的方式,即需要着色的代码的类型,根据需要进行更改。

4、在网页尾部的</body>之前插入以下代码:

<script class="javascript" src="Scripts/shCore.js"></script>
<script class="javascript" src="Scripts/shBrushCSharp.js"></script>
<script class="javascript" src="Scripts/shBrushPhp.js"></script>
<script class="javascript" src="Scripts/shBrushJScript.js"></script>
<script class="javascript" src="Scripts/shBrushJava.js"></script>
<script class="javascript" src="Scripts/shBrushVb.js"></script>
<script class="javascript" src="Scripts/shBrushSql.js"></script>
<script class="javascript" src="Scripts/shBrushXml.js"></script>
<script class="javascript" src="Scripts/shBrushDelphi.js"></script>
<script class="javascript" src="Scripts/shBrushPython.js"></script>
<script class="javascript" src="Scripts/shBrushRuby.js"></script>
<script class="javascript" src="Scripts/shBrushCss.js"></script>
<script class="javascript" src="Scripts/shBrushCpp.js"></script>
<script class="javascript">
dp.SyntaxHighlighter.HighlightAll('code');
</script>

一个页面里面可以包含任意多个需要着色的代码段;
压缩包中有各种着色代码类型的着色案例,大家可以参照使用。

方法二:

1. 首先在页面上添加如下代码(假设下载后的SyntaxHighlighter放在SyntaxHighlighter目录下面,注意目录结构):

<link type="text/css" rel="stylesheet" href="SyntaxHighlighter/Styles/SyntaxHighlighter.css"></link>

<script language="javascript" src="SyntaxHighlighter/Scripts/shCore.js"></script>
<script language="javascript" src="SyntaxHighlighter/Scripts/shBrushCSharp.js"></script>
<script language="javascript" src="SyntaxHighlighter/Scripts/shBrushXml.js"></script>
<script language="javascript">
window.onload = function () {
dp.SyntaxHighlighter.ClipboardSwf = 'SyntaxHighlighter/Scripts/clipboard.swf';
dp.SyntaxHighlighter.HighlightAll('code');
}
</script>

官方的安装中没有window.onload,我想这个还是需要的,毕竟,页面加载的时候我就需要给代码着色。

2. 使用方法如下:

方法一:使用pre

<pre name="code" class="c-sharp">
... some code here ...
</pre>

方法二:使用textarea

<textarea name="code" class="c#" cols="60" rows="10">
... some code here ...
</textarea>

另外,这里还有一些高级特性的设置方法可供参考,诸如代码折叠等。

Javascript 相关文章推荐
js 目录列举函数
Nov 06 Javascript
jQuery EasyUI API 中文文档 - Dialog对话框
Nov 15 Javascript
jquery 按钮状态效果 正常、移上、按下
Aug 12 Javascript
js中flexible.js实现淘宝弹性布局方案
Jun 23 Javascript
JavaScript中Array的实用操作技巧分享
Sep 11 Javascript
javascript数组遍历的方法实例分析
Sep 13 Javascript
使用BootStrap实现悬浮窗口的效果
Dec 13 Javascript
JavaScript &amp; jQuery完美判断图片是否加载完毕
Jan 08 Javascript
jQuery 中msgTips 顶部弹窗效果实现代码
Aug 14 jQuery
原生js实现仿window10系统日历效果的实例
Oct 31 Javascript
jQuery实现的响应鼠标移动方向插件用法示例【附源码下载】
Aug 28 jQuery
JavaScript实现消消乐的源代码
Jan 12 Javascript
很多人都是用下面的js刷新站IP和PV
Sep 05 #Javascript
动态修改DOM 里面的 id 属性的弊端分析
Sep 03 #Javascript
IE浏览器PNG图片透明效果代码
Sep 02 #Javascript
JavaScript监测ActiveX控件是否已经安装过的代码
Sep 02 #Javascript
JQUERY CHECKBOX全选,取消全选,反选方法三
Aug 30 #Javascript
jquery复选框CHECKBOX全选、反选
Aug 30 #Javascript
JQUERY复选框CHECKBOX全选,取消全选
Aug 30 #Javascript
You might like
一个很方便的 XML 类!!原创的噢
2006/10/09 PHP
php报表之jpgraph柱状图实例代码
2011/08/22 PHP
php网站地图生成类示例
2014/01/13 PHP
discuz加密解密函数使用方法和中文注释
2014/01/21 PHP
PHP实现获取FLV文件的时间
2015/02/10 PHP
[原创]php获取数组中键值最大数组项的索引值
2015/03/17 PHP
javascript之水平横向滚动歌词同步的应用
2007/05/07 Javascript
扩展js对象数组的OrderByAsc和OrderByDesc方法实现思路
2013/05/17 Javascript
javaScript的函数对象的声明详解
2015/02/06 Javascript
JavaScript学习笔记之检测客户端类型是(引擎、浏览器、平台、操作系统、移动设备)
2015/12/03 Javascript
bootstrap读书笔记之CSS组件(上)
2016/10/17 Javascript
关于定制FileField中的上传文件名称问题
2017/08/22 Javascript
swiper自定义分页器使用方法详解
2020/09/14 Javascript
vue中实现Monaco Editor自定义提示功能
2019/07/05 Javascript
解决layer弹出层自适应页面大小的问题
2019/09/16 Javascript
[04:29]DOTA2亚洲邀请赛小组赛第一日 TOP10精彩集锦
2015/02/01 DOTA
[01:20]PWL开团时刻DAY9——听说潮汐没用?
2020/11/10 DOTA
python遍历数组的方法小结
2015/04/30 Python
Python中easy_install 和 pip 的安装及使用
2017/06/05 Python
在Python中增加和插入元素的示例
2018/11/01 Python
对pycharm 修改程序运行所需内存详解
2018/12/03 Python
在Python中,不用while和for循环遍历列表的实例
2019/02/20 Python
Python3+OpenCV2实现图像的几何变换(平移、镜像、缩放、旋转、仿射)
2019/05/13 Python
pandas DataFrame索引行列的实现
2019/06/04 Python
Python简单处理坐标排序问题示例
2019/07/11 Python
在python中使用nohup命令说明
2020/04/16 Python
Python unittest基本使用方法代码实例
2020/06/29 Python
localStorage 设置过期时间的方法实现
2018/12/21 HTML / CSS
美国波道夫·古德曼百货官网:Bergdorf Goodman
2017/11/07 全球购物
Stutterheim瑞典:瑞典高级外套时装品牌
2019/06/24 全球购物
德国便宜的宠物店:Brekz.de
2020/10/23 全球购物
幼儿园教师工作制度
2014/01/22 职场文书
离退休人员聘用协议书
2014/11/24 职场文书
java实现对Hadoop的操作
2021/07/01 Java/Android
5种 JavaScript 方式实现数组扁平化
2021/10/05 Javascript
el-form每行显示两列底部按钮居中效果的实现
2022/08/05 HTML / CSS