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 相关文章推荐
使Ext的Template可以解析二层的json数据的方法
Dec 22 Javascript
javascript 处理HTML元素必须避免使用的一种方法
Jul 30 Javascript
jQuery 借助插件Lavalamp实现导航条动态美化效果
Sep 27 Javascript
javascipt:filter过滤介绍及使用
Sep 10 Javascript
html的DOM中document对象anchors集合用法实例
Jan 21 Javascript
轻松学习jQuery插件EasyUI EasyUI实现拖放商品放置购物车
Nov 30 Javascript
AngularJs  Using $location详解及示例代码
Sep 02 Javascript
利用jQuery.Validate异步验证用户名是否存在(推荐)
Dec 09 Javascript
angularJS 指令封装回到顶部示例详解
Jan 22 Javascript
详解webpack4升级指南以及从webpack3.x迁移
Jun 12 Javascript
JavaScript遍历数组和对象的元素简单操作示例
Jul 09 Javascript
js实现模拟购物商城案例
May 18 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实现的比较完善的购物车类
2014/12/02 PHP
PHP消息队列用法实例分析
2016/02/12 PHP
CI框架封装的常用图像处理方法(缩略图,水印,旋转,上传等)
2016/11/22 PHP
Prototype最新版(1.5 rc2)使用指南(1)
2007/01/10 Javascript
JavaScript面象对象设计
2008/04/28 Javascript
JavaScript高级程序设计(第3版)学习笔记 概述
2012/10/11 Javascript
利用Javascript判断操作系统的类型实现不同操作系统下的兼容性
2013/01/29 Javascript
jQuery 如何先创建、再修改、后添加DOM元素
2014/05/20 Javascript
jquery实现定时自动轮播特效
2015/12/10 Javascript
Bootstrap表单组件教程详解
2016/04/26 Javascript
【经典源码收藏】jQuery实用代码片段(筛选,搜索,样式,清除默认值,多选等)
2016/06/07 Javascript
简单理解vue中el、template、replace元素
2016/10/27 Javascript
完美解决IE不支持Data.parse()的问题
2016/11/24 Javascript
jQuery控制元素隐藏和显示
2017/03/03 Javascript
Angular2环境搭建具体操作步骤(推荐)
2017/08/04 Javascript
react-native中ListView组件点击跳转的方法示例
2017/09/30 Javascript
Vue源码学习之关于对Array的数据侦听实现
2019/04/23 Javascript
js 图片懒加载的实现
2020/10/21 Javascript
[02:44]DOTA2英雄基础教程 魅惑魔女
2014/01/07 DOTA
[14:56]教你分分钟做大人:巫医
2014/10/30 DOTA
Python编程实现蚁群算法详解
2017/11/13 Python
python中的插值 scipy-interp的实现代码
2018/07/23 Python
python 实现图片旋转 上下左右 180度旋转的示例
2019/01/24 Python
详解Python中pandas的安装操作说明(傻瓜版)
2019/04/08 Python
django2笔记之路由path语法的实现
2019/07/17 Python
Tensorflow Summary用法学习笔记
2020/01/10 Python
英国哈罗德园艺:Harrod Horticultural
2020/03/31 全球购物
Python里面如何拷贝一个对象
2014/02/17 面试题
优秀女职工事迹材料
2014/02/06 职场文书
《夜晚的实验》教学反思
2014/02/19 职场文书
组工干部对照检查材料
2014/08/25 职场文书
离婚起诉书范文2016
2015/11/26 职场文书
2019垃圾分类宣传口号汇总
2019/08/16 职场文书
详解Python小数据池和代码块缓存机制
2021/04/07 Python
python开发实时可视化仪表盘的示例
2021/05/07 Python
Redis集群的关闭与重启操作
2021/07/07 Redis