tinymce与prism代码高亮实现及汉化的配置
简单介绍:TinyMCE是一个轻量级的基于浏览器的所见即所得编辑器,由JavaScript写成。它对IE6+和Firefox1.5+都有着非常良好的支持。功能方强大,并且功能配置灵活简单。另一特点是加载速度非常快的。最重要的是,TinyMCE是一个根据LGPL license发布的自由软件,你可以把它用于商业应用,好了不多说,想了解更多自行百度,我们进入正题。
一、编辑页配置
1.首先我们需要引用网页样式控制文件及脚本语言编辑文件(其中前两个是tinymce脚本文件,后两个是prism高亮文件)
1 <script type="text/javascript" src="tinymce.min.js"></script> 2 <script type="text/javascript" src="jquery.tinymce.min.js"></script> 3 <link href="prism.css" rel="stylesheet" /> 4 <script src="prism.js"></script>
2.在body中设计好我们的文本
1 <textarea name="content" style="width:100%"></textarea>
3.在js中进行文本的初始化
(1)tinymce.init配置并初始化tinymce
(2)selector: “textarea”根据你的选择器来指定,我这里是textarea,可以绑定id(#···)或class(.····)
(3)plugins填写要使用的插件名称
(4)toolbar设置工具栏指定显示插件,这里我展示了三个工具栏
(5)menubar禁用菜单栏模板
(6)toolbar_items_size工具栏标签大小设置为小
(7)style_formats初始化的默认样式,这个根据自己喜好调节
(8)templates模板,toolbar3中的template选中标题后自动追加值content到文本框
(9)language:’zh_CN’语言本身默认英文,这里指定语言为中文
1 <script type="text/javascript"> 2 tinymce.init({ 3 selector: "textarea", 4 plugins: [ 5 "advlist autolink autosave link image lists charmap print preview hr anchor pagebreak spellchecker", 6 "searchreplace wordcount visualblocks visualchars code fullscreen insertdatetime media nonbreaking", 7 "table contextmenu directionality emoticons template textcolor paste fullpage textcolor codesample" 8 ], 9 10 toolbar1: "undo redo | cut copy paste | bold italic underline strikethrough | alignleft aligncenter alignright alignjustify | styleselect formatselect fontselect fontsizeselect", 11 toolbar2: " searchreplace | bullist numlist | outdent indent blockquote | link unlink anchor image media code codesample | inserttime preview | forecolor backcolor", 12 toolbar3: "table | hr removeformat | subscript superscript | charmap emoticons | print fullscreen | ltr rtl | spellchecker | visualchars visualblocks nonbreaking template pagebreak restoredraft", 13 14 menubar: false, 15 toolbar_items_size: 'small', 16 17 style_formats: [ 18 {title: 'Bold text', inline: 'b'}, 19 {title: 'Red text', inline: 'span', styles: {color: '#ff0000'}}, 20 {title: 'Red header', block: 'h1', styles: {color: '#ff0000'}}, 21 {title: 'Example 1', inline: 'span', classes: 'example1'}, 22 {title: 'Example 2', inline: 'span', classes: 'example2'}, 23 {title: 'Table styles'}, 24 {title: 'Table row 1', selector: 'tr', classes: 'tablerow1'} 25 ], 26 27 templates: [ 28 {title: 'Test template 1', content: 'Test 1'}, 29 {title: 'Test template 2', content: 'Test 2'} 30 ], 31 language:'zh_CN' 32 });</script>
另外当我们用codesample进行插入会产生class=“language-**”标签,这个一眼看去和prism高亮显示插件是迎合的,也表示官方的支持。所以我们使用prism作为代码高亮插件。
(4)赋值及设置值操作
1 var context=tinyMCE.activeEditor.getContent();//进行值得获取 2 3 tinyMCE.activeEditor.setContent("你的数据");//进行值得获取
二、展示页相关配置
1、引用网页样式控制文件及脚本语言编辑文件(两个高亮显示脚本)
1 <link href="prism.css" rel="stylesheet" /> 2 <script src="prism.js"></script>
2、你的编辑器保存的值取出显示到页面就可以了。
源码demo:https://download.csdn.net/download/silverbutter/10557703