tinymce与prism代码高亮实现及汉化的配置

2018-07-25 13:17:38来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

简单介绍: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

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:layui 的 GitHub 及 Gitee (码云) 仓库

下一篇:css画图那些事