- A+
所属分类:脚本语言
SyntaxHighlighter 是一套在浏览器上对各种代码进行语法着色的独立 JavaScript 库。
官方下载地址:http://alexgorbatchev.com/SyntaxHighlighter/download/
因为使用SyntaxHighlighter的时候会使用到多种语言,一次必载入全部的语言配置文件下载的东西会比较多,所以SyntaxHighlighter 3.0 开始提供了一个shAutoloader.js脚本。它让浏览器按照当前页面內容去载入相对应语言的上色系统,这对载入速度是一大改善! 下面是 admin10000.com 给出的代码
1、在网页头部加载核心JS和样式文件
<link type="text/css" rel="stylesheet" href="/SyntaxHighlighter/styles/shCore.css" /> <link type="text/css" rel="stylesheet" href="/SyntaxHighlighter/styles/shThemeDefault.css" /> <script type="text/javascript" src="/SyntaxHighlighter/scripts/shCore.js"></script> <script type="text/javascript" src="/SyntaxHighlighter/scripts/shAutoloader.js"></script>
2、执行SyntaxHighlighter.autoloader。
autoloader必须在页面完成载入后再去执行它。如果引用了jQuery,可以放$(document).ready()里,就能看到效果了。
<script type="text/javascript"> function path() { var args = arguments, result = []; for(var i = 0; i < args.length; i++) result.push(args[i].replace('@', '/SyntaxHighlighter/scripts/')); return result }; $(document).ready(function(){ SyntaxHighlighter.autoloader.apply(null, path( 'applescript @shBrushAppleScript.js', 'actionscript3 as3 @shBrushAS3.js', 'bash shell @shBrushBash.js', 'coldfusion cf @shBrushColdFusion.js', 'cpp c @shBrushCpp.js', 'c# c-sharp csharp @shBrushCSharp.js', 'css @shBrushCss.js', 'delphi pascal @shBrushDelphi.js', 'diff patch pas @shBrushDiff.js', 'erl erlang @shBrushErlang.js', 'groovy @shBrushGroovy.js', 'java @shBrushJava.js', 'jfx javafx @shBrushJavaFX.js', 'js jscript javascript @shBrushJScript.js', 'perl pl @shBrushPerl.js', 'php @shBrushPhp.js', 'text plain @shBrushPlain.js', 'py python @shBrushPython.js', 'ruby rails ror rb @shBrushRuby.js', 'sass scss @shBrushSass.js', 'scala @shBrushScala.js', 'sql @shBrushSql.js', 'vb vbnet @shBrushVb.js', 'xml xhtml xslt html @shBrushXml.js' )); SyntaxHighlighter.defaults['smart-tabs'] = true; SyntaxHighlighter.defaults['tab-size'] = 4; SyntaxHighlighter.all(); }); </script>
QQ群: WEB开发者官方总群(196171896) 验证消息:Admin10000