发布于2026-07-22 阅读(0)
扫一扫,手机访问
代码高亮这事儿,说大不大,说小不小。SyntaxHighlighter 算是一代经典了,专门用来在网页上给代码上色,支持的语言范围相当广——HTML、CSS、Ja vaScript 这些前端基础语种自不必说,C、Ja va 这些后端编程语言也在射程之内。你随便翻翻现在网上很多技术文章里那些带颜色的代码块,背后可能跑的就是它。具体来说,它能加亮的语言包括:C#、CSS、C++、Delphi、Ja va、Ja vaScript、PHP、Python、Ruby、SQL、Visual Basic、XML/HTML……基本上主流语言都覆盖了。
不过话说回来,这工具好用是好用,但有个实际的问题:不同文章里出现的代码语言往往各不相同。如果为了兼容所有情况,一次把全部语言的配置文件都加载进来,页面加载的东西可就太多了。所以,SyntaxHighlighter 官方提供了一个 shAutoloader.js 脚本,专门用来按需加载——这才是真正的高效之道。
先说第一步,把下载下来的 SyntaxHighlighter 文件解压,然后只保留 Scripts 和 styles 这两个文件夹,其他杂七杂八的可以扔掉。

接着是引入样式文件和脚本。在页面的
之间,把 CSS 放进来:然后在
结束标签的前面,引入 Ja vaScript 文件——这里就有讲究了,既要 shCore.js,也要 shAutoloader.js:
这段脚本里,核心是那个 path() 函数和后面的 autoloader 调用。path 函数的作用说白了就是个路径拼接器——把你传入的语言别名替换成真实脚本地址。autoloader 则负责按需加载,什么语言出现在页面上,就加载对应的 Brush 文件。下面那一堆 defaults 配置项也很关键:gutter 控制是否显示行号,toolbar 决定是否显示工具栏,auto-links 和 quick-code 则分别控制自动链接和代码快速复制功能,根据需求开关就行。
配置好了,怎么用?有两种主流方式。
方式一:用 pre 标签
//这里是你需要高亮的代码
//python代码
前者是经典写法,直接通过 class 指定语言;后者则是套了一个容器 div,方便统一控制样式。
方式二:用 textarea 标签
textarea 的好处是不会额外处理里面的特殊字符,对于包含大量<、>、&等符号的代码片段来说,更不容易出问题。
但现实情况是,文章详情页并不总是有代码块。很多页面可能就是纯文字,如果关了 JS 还去加载一堆高亮脚本,那就是浪费带宽了。所以更好的做法是加一个判断:只有当页面上确实存在代码块时,才去加载这些 JS 文件和执行初始化。
如果你用的是类似 ASP.NET MVC 的 Model 框架,可以在视图里这样写:
var isCode = Model.Html.ToString().Contains("
没有框架的话,用 jQuery 判断也完全可以:
if($('div.jb51code').length > 0){
// 这里放置上面的js文件链接以及js代码。
}
第一种方法是后端判断,在生成页面 HTML 的时候就决定要不要引脚本;第二种是前端判断,页面加载完去检查 DOM 里有没有代码块元素。两种各有适用场景,看你的项目结构选就行。这才是真正做到了“按需加载”,不浪费一丝一毫的资源。
本文转载于:https://www.jb51.net/program/2885031pi.htm 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。
上一篇:几款好用的前端开发编辑器推荐安利
产品推荐
-
售后无忧
立即购买>
- DAEMON Tools Lite 10【序列号终身授权 + 中文版 + Win】
-
¥150.00
office旗舰店
-
售后无忧
立即购买>
- DAEMON Tools Ultra 5【序列号终身授权 + 中文版 + Win】
-
¥198.00
office旗舰店
-
售后无忧
立即购买>
- DAEMON Tools Pro 8【序列号终身授权 + 中文版 + Win】
-
¥189.00
office旗舰店
-
售后无忧
立即购买>
- CorelDRAW X8 简体中文【标准版 + Win】
-
¥1788.00
office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8