欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-12-19 23:52:34
简单介绍:TinyMCE是一个轻量级的基于浏览器的所见即所得编辑器,由JavaScript写成。它对IE6+和Firefox1.5+都有着非常良好的支持。功能方强大,并且功能配置灵活简单。另一特点是加载速度非常快的。最重要的是,TinyMCE是一个根据LGPL license发布的*软件,你可以把 ......

简单介绍: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进行插入会产生tinymce与prism代码高亮实现及汉化的配置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: