SyntaxHighlighter是一個(gè)使用JavaScript編寫的支持多種編程語言語法高亮的JS插件,很多大型網(wǎng)站或博客都在使用。
SyntaxHighlighter插件默認(rèn)是每種編程語言加載對(duì)應(yīng)JS語言庫(kù),那么如何實(shí)現(xiàn)SyntaxHighlighter自動(dòng)加載不同語言的JS語言庫(kù)
SyntaxHighlighter官方已經(jīng)給出了解決方案 shAutoloader.js
自動(dòng)加載庫(kù);
在HTML文件中引用SyntaxHighlighter核心運(yùn)行庫(kù)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Hello SyntaxHighlighter</title><script type="text/javascript" src="scripts/shCore.js"></script><script type="text/javascript" src="scripts/shAutoloader.js"></script><link type="text/css" rel="stylesheet" href="styles/shCore.css" rel="external nofollow" rel="external nofollow" /><link type="text/css" rel="stylesheet" href="styles/shCoreDefault.css" rel="external nofollow" rel="external nofollow" /></head>
shCore.js SyntaxHighlighter插件的核心運(yùn)行庫(kù)
shAutoloader.js 自動(dòng)加載運(yùn)行庫(kù)要實(shí)現(xiàn)自動(dòng)加載必須引入此文件
shCore.css 核心CSS樣式
shCoreDefault.css 主題CSS樣式
以上四個(gè)文件必須引用到文檔中
需要高亮顯示的代碼請(qǐng)入在 <pre class="brush:js;"></pre>
里
代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Hello SyntaxHighlighter</title><script type="text/javascript" src="scripts/shCore.js"></script><script type="text/javascript" src="scripts/shAutoloader.js"></script><link type="text/css" rel="stylesheet" href="styles/shCore.css" rel="external nofollow" rel="external nofollow" /><link type="text/css" rel="stylesheet" href="styles/shCoreDefault.css" rel="external nofollow" rel="external nofollow" /></head> <body><h1>Hello SyntaxHighlighter</h1><pre class="brush: js;">function helloSyntaxHighlighter(){return "hi!";}</pre>
<pre class="brush: js;">
中的 class="brush: js;"
是根據(jù)顯示代碼語言而定
下面是實(shí)現(xiàn)SyntaxHighlighter自動(dòng)加載的主要代碼
<script language="javascript">function path(){ var args = arguments, result = []; for(var i = 0; i < args.length; i++) result.push(args[i].replace('@', '/pub/sh/current/scripts/'));//請(qǐng)?zhí)鎿Q成自己項(xiàng)目中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();</script>
以上就是實(shí)現(xiàn)SyntaxHighlighter自動(dòng)識(shí)別語言并自動(dòng)載語言庫(kù)的代碼,需要的同學(xué)可以測(cè)試下;
本文實(shí)例下載:SyntaxHighlighter自動(dòng)識(shí)別并加載
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注