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 相关文章推荐
ASP.NET jQuery 实例10 动态修改hyperlink的URL值
Feb 03 Javascript
JQuery $.each遍历JavaScript数组对象实例
Sep 01 Javascript
window.open()实现post传递参数
Mar 12 Javascript
JQuery 的跨域方法推荐_可跨任何网站
May 18 Javascript
Angular2表单自定义验证器的实现
Oct 19 Javascript
详解js中call与apply关键字的作用
Nov 21 Javascript
js实现鼠标左右移动,图片也跟着移动效果
Jan 25 Javascript
JavaScript之iterable_动力节点Java学院整理
Jun 29 Javascript
JavaScript中.min.js和.js文件的区别讲解
Feb 13 Javascript
vue使用Font Awesome的方法步骤
Feb 26 Javascript
js实现滑动进度条效果
Aug 21 Javascript
Vue父子组件传值的一些坑
Sep 16 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
php header Content-Type类型小结
2011/07/03 PHP
php截取中文字符串不乱码的方法
2013/12/25 PHP
yii2整合百度编辑器umeditor及umeditor图片上传问题的解决办法
2016/04/20 PHP
ext监听事件方法[初级篇]
2008/04/27 Javascript
jQuery的学习步骤
2011/02/23 Javascript
jquery实现带缩略图的全屏图片画廊效果实例
2015/06/25 Javascript
js实现仿百度风云榜可重复多次调用的TAB切换选项卡效果
2015/08/31 Javascript
简单实现js选项卡切换效果
2016/02/03 Javascript
jQuery过滤选择器经典应用
2016/08/18 Javascript
DataTables+BootStrap组合使用Ajax来获取数据并且动态加载dom的方法(排序,过滤,分页等)
2016/11/09 Javascript
深入理解javascript中concat方法
2016/12/12 Javascript
Vue2.0子同级组件之间数据交互方法
2018/02/28 Javascript
jQuery实现的淡入淡出与滑入滑出效果示例
2018/04/18 jQuery
你了解vue3.0响应式数据怎么实现吗
2019/06/07 Javascript
详解vue修改elementUI的分页组件视图没更新问题
2020/11/13 Javascript
Python 12306抢火车票脚本 Python京东抢手机脚本
2018/02/06 Python
Python结合ImageMagick实现多张图片合并为一个pdf文件的方法
2018/04/24 Python
Django为窗体加上防机器人的验证码功能过程解析
2019/08/14 Python
python数据持久存储 pickle模块的基本使用方法解析
2019/08/30 Python
python 实现方阵的对角线遍历示例
2019/11/29 Python
浅谈Python里面None True False之间的区别
2020/07/09 Python
Pandas的Apply函数具体使用
2020/07/21 Python
CSS3制作半透明边框(Facebox)类似渐变
2012/12/09 HTML / CSS
小学毕业家长寄语
2014/01/19 职场文书
工程师岗位职责规定
2014/02/26 职场文书
《散步》教学反思
2014/03/02 职场文书
乳制品整治工作方案
2014/05/29 职场文书
企业趣味活动方案
2014/08/21 职场文书
计算机专业自荐信范文
2015/03/26 职场文书
2015年学校教务处工作总结
2015/05/11 职场文书
教师节表彰会主持词
2015/07/06 职场文书
员工考勤管理制度
2015/08/06 职场文书
读《人生的智慧》有感:闲暇是人生的精华
2019/12/25 职场文书
springboot如何初始化执行sql语句
2021/06/22 Java/Android
详解Java分布式事务的 6 种解决方案
2021/06/26 Java/Android
Python与C++中梯度方向直方图的实现
2022/03/17 Python