SyntaxHighlighter是一个使用JavaScript编写的支持多种编程语言语法高亮的JS插件,很多大型网站或博客都在使用。
SyntaxHighlighter插件默认是每种编程语言加载对应JS语言库,那么如何实现SyntaxHighlighter自动加载不同语言的JS语言库
SyntaxHighlighter官方已经给出了解决方案 shAutoloader.js
自动加载库;
在HTML文件中引用SyntaxHighlighter核心运行库
shCore.js SyntaxHighlighter插件的核心运行库
shAutoloader.js 自动加载运行库要实现自动加载必须引入此文件
shCore.css
shCoreDefault.css 主题CSS样式以上四个文件必须引用到文档中
代码如下:
中的
class="brush: js;"
是根据显示代码语言而定
下面是实现SyntaxHighlighter自动加载的主要代码
SyntaxHighlighter的具体路径
return result
};
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.all();
以上就是实现SyntaxHighlighter自动识别语言并自动载语言库的代码,需要的同学可以测试下;
本文实例下载:SyntaxHighlighter_auto_load_jb51.cc.rar">SyntaxHighlighter自动识别并加载