Prism 代碼高亮修改不包含 Code 標(biāo)簽的支持
在 WordPress 中加入了百度的 UEditor 編輯器后,由于自帶的代碼插件在使用時只會在代碼外層加入 pre 標(biāo)簽,如圖:
但實(shí)際 Prism 高亮需要下面這種格式的支持:
<pre class="line-numbers language-csharp">
<code>
//高亮代碼
</code>
</pre>
所以為了能夠支持 pre 中沒有 code 標(biāo)簽的情況,在文件 Prism.js 中查找 highlightAll 并修改如下代碼:
....
highlightAll: function(async, callback) {
//var elements = document.querySelectorAll('code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code');
//for (var i=0, element; element = elements[i++];) {
// _.highlightElement(element, async === true, callback);
//}
//支持 PRE 標(biāo)簽,修改為
var clsReg = /\s*\blanguage-\b\s*/;
var pres = document.querySelectorAll("pre");
for (var i = 0, pre; pre = pres[i++];) {
var isCode = false;
if ((pre.firstChild
&& (isCode = (pre.firstChild.tagName === "CODE"))
&& clsReg.test(pre.firstChild.className))
|| clsReg.test(pre.className)) {
if (!isCode) pre.innerHTML = "<code>" + pre.innerHTML + "</code>";
_.highlightElement(pre.firstChild, async === true, callback);
}
}
}
....
修改后進(jìn)行 Js 壓縮,然后覆蓋原文件,然后在 WordPress UEditor 中插入的代碼在前端頁面就能高亮顯示了。
Prism 高亮官網(wǎng)地址:http://prismjs.com/
Prism GitHub 地址:https://github.com/PrismJS/prism
上一篇:讓谷歌瀏覽器Google Chrome支持eWebEditor的方法
欄 目:網(wǎng)頁編輯器
本文標(biāo)題:Prism 代碼高亮修改不包含 Code 標(biāo)簽的支持
本文地址:http://www.jygsgssxh.com/a1/wangyebianjiqi/11781.html


閱讀排行
本欄相關(guān)
- 01-11針對PHP環(huán)境下Fckeditor編輯器上傳圖片
- 01-11關(guān)于jsp版ueditor1.2.5的部分問題解決(上
- 01-11UEditor編輯器自定義上傳圖片或文件路
- 01-11UEditor 編輯器跨域上傳解決方法
- 01-11免費(fèi)開源百度編輯器(UEditor)使用方法
- 01-11ckeditor插件開發(fā)簡單實(shí)例
- 01-11使用ZeroClipboard解決跨瀏覽器復(fù)制到剪
- 01-11CKEditor 取消轉(zhuǎn)義的兩種方法
- 01-11FCKeditor + SyntaxHighlighter 讓代碼高亮著
- 01-11為SyntaxHighlighter添加新語言的方法
隨機(jī)閱讀
- 01-11ajax實(shí)現(xiàn)頁面的局部加載
- 01-10使用C語言求解撲克牌的順子及n個骰子
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 04-02jquery與jsp,用jquery
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 01-10delphi制作wav文件的方法
- 08-05織夢dedecms什么時候用欄目交叉功能?
- 01-10C#中split用法實(shí)例總結(jié)
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置


