聯系信息

                        Kindeditor+highlight實現語法高亮

                        2020-01-30 12:59 By 致遠 994
                        當前位置: 企業網站建設 > KindEditor > Kindeditor+highlight實現語法高亮

                        很多年前寫了一篇文章,也是關于kindeditor語法高亮的,只是那個網站早已不復存在了,并且當時使用的是SyntaxHighlighter這個插件,需要引入的js太多了,有點亂。

                        今天再用kindeditor,結合highlight來寫一個語法高亮的解決方案,感覺還不錯,至少highlight操作比較簡單,你只需要引入一條js和一條css即可。具體操作如下:

                        1、修改kindeditor插入代碼功能。

                        如果你使用的是完整版(kindeditor-all.js或者kindeditor-all-min.js),打開它查找


                        <pre class="prettyprint'+(h===""?"":" lang-"+h)+'">\n'+b.escape(m)+"</pre>


                        ,把它修改成這樣


                        <pre><code class="'+h+'">\n'+b.escape(m)+"</code></pre>


                        如果你使用的不是完整版(kindeditor.js或者kindeditor-min.js),打開kindeditor插件目錄(plugins),找到code文件夾下的code.js,查找yesBtn,做如下修改


                         yesBtn : {
                        	name : self.lang('yes'),
                        	click : function(e) {
                        	var type = K('.ke-code-type', dialog.div).val(),
                        	code = textarea.val(),
                        	//cls = type === '' ? '' :  ' lang-' + type,//注釋掉這一句
                        	//html = '<pre class="prettyprint' + cls + '">\n' + K.escape(code) + '</pre> ';//把這一條修改成下面的樣子
                        	html = '<pre><code class="' + cls + '">\n' + K.escape(code) + '</code></pre> ';
                        	if (K.trim(code) === '') {
                        		alert(lang.pleaseInput);
                        		textarea[0].focus();
                        		return;
                        	}
                        	self.insertHtml(html).hideDialog().focus();
                        	}
                        }


                        注意修改完成后一定要刷新頁面,部分瀏覽器可能還需要清空一下緩存,否則修改是沒有效果的。

                        2、下載highlight相關文檔,大家可以自行百度一下,也可以用我這里提供這個:鏈接:http://pan.baidu.com/s/1pKQZdsn 密碼:v6rm

                        3、在需要語法高亮的頁面嵌入highlight。


                        <link rel="stylesheet" href="__PUBLIC__/home/js/styles/default.css">
                            <!--引入highlight的相關css。highlight官方提供了多套css,大家可以自行修改嘗試-->
                            <script type="text/javascript" src="__PUBLIC__/home/js/highlight.pack.js"></script>
                            <!--引入highlight的js程序-->
                            <script>hljs.initHighlightingOnLoad();</script>
                            <!--初始化程序,使之語法高亮-->


                        注意:你的kindeditor可能把code給過濾掉了,如果是這樣請查看kindeditor代碼過濾。

                        其實還有一種更簡單的方法,Kindeditor中無需任何設置,只需要導入highlight并在初始化的時候聲明一下高亮模塊即可


                        <link rel="stylesheet" href="/Template/css/highlight/default.css" />
                                <script type="text/javascript" src="/Template/js/highlight.pack.js"></script>
                                <script>
                                    document.addEventListener('DOMContentLoaded', (event) => {
                                        document.querySelectorAll('pre').forEach((block) => {
                                            hljs.highlightBlock(block);
                                        });
                                    });
                                </script>


                        © 致遠 2020-01-30,原創內容,轉載請注明出錯:Kindeditor+highlight實現語法高亮

                        留下您的評論

                        > 人人爽人人澡人人高潮_免费无码国产V片在线观看_18禁裸乳无遮挡免费观看_国产99在线 | 欧美_中文字幕无码无码专区 中文精品久久久久国产网址 强奷乱码中文字幕无码 免费高清播放A级毛片完整版 肥熟老熟妇500部视频 亚洲国产成人爱AV在线播放 久久国产精品波多野结衣AV MM1313亚洲精品无码 午夜福利1000 92免费 久久久久琪琪去精品色一到本 А√ 天堂 在线官网中文