认识HTML富文本KindEditor编辑器

HTML富文本是强大的文本编辑工具,主要用于让用户在网站上获得所见即所得编辑效果,兼容 IE、Firefox、Chrome、Safari、Opera 等主流浏览器,今天小编带大家来一概KindEditor的全貌。

编辑器张什么样
编辑器初始化参数
编辑器怎么调用

引言

在上篇KindEditor富文本怎么嵌入到.NET MVC B/S开发框架中我们通过一个实例介绍富文本编辑器KindEditor在B/S开发框架中是怎么应用的,今天小编带大家通过浏览KindEditor官网来一探这个Html文本编辑器的庐山真面目,更多请大家浏览官网http://kindeditor.net

编辑器张什么样

张啥样

编辑器初始化参数

调用KE.showKE.init时可以设置以下参数。
  1. id
    TEXTAREA输入框的ID,必须设置。
    数据类型:String
  2. items
    配置编辑器的工具栏,其中"-"表示换行,"|"表示分隔符。
    数据类型:Array
    默认值:
    ['source', '|', 'fullscreen', 'undo', 'redo', 'print', 'cut', 'copy', 'paste',
    'plainpaste', 'wordpaste', '|', 'justifyleft', 'justifycenter', 'justifyright',
    'justifyfull', 'insertorderedlist', 'insertunorderedlist', 'indent', 'outdent', 'subscript',
    'superscript', '|', 'selectall', '-',
    'title', 'fontname', 'fontsize', '|', 'textcolor', 'bgcolor', 'bold',
    'italic', 'underline', 'strikethrough', 'removeformat', '|', 'image',
    'flash', 'media', 'advtable', 'hr', 'emoticons', 'link', 'unlink', '|', 'about']
    
  3. width
    编辑器的宽度,可以设置px或%,比TEXTAREA输入框样式表宽度优先度高。
    数据类型:String
    默认值:TEXTAREA输入框的宽度
    注: 3.2版本开始支持。
  4. height
    编辑器的高度,只能设置px,比TEXTAREA输入框样式表高度优先度高。
    数据类型:String
    默认值:TEXTAREA输入框的高度
    注: 3.2版本开始支持。
  5. minWidth
    数据类型:Int
    指定编辑器最小宽度,单位为px。
    默认值:200
  6. minHeight
    数据类型:Int
    指定编辑器最小高度,单位为px。
    默认值:100
  7. filterMode
    数据类型:Boolean
    true时过滤HTML代码,false时允许输入任何代码。
    默认值:false
    注: 3.4以前版本的filterMode默认值为true。
  8. htmlTags
    指定要保留的HTML标记和属性。哈希数组的key为HTML标签名,value为HTML属性数组,"."开始的属性表示style属性。
    数据类型:Object
    默认值:
    {
    	font : ['color', 'size', 'face', '.background-color'],
    	span : ['style'],
    	div : ['class', 'align', 'style'],
    	table: ['class', 'border', 'cellspacing', 'cellpadding', 'width', 'height', 'align', 'style'],
    	'td,th': ['class', 'align', 'valign', 'width', 'height', 'colspan', 'rowspan', 'bgcolor', 'style'],
    	a : ['class', 'href', 'target', 'name', 'style'],
    	embed : ['src', 'width', 'height', 'type', 'loop', 'autostart', 'quality',
    	'style', 'align', 'allowscriptaccess', '/'],
    	img : ['src', 'width', 'height', 'border', 'alt', 'title', 'align', 'style', '/'],
    	hr : ['class', '/'],
    	br : ['/'],
    	'p,ol,ul,li,blockquote,h1,h2,h3,h4,h5,h6' : ['align', 'style'],
    	'tbody,tr,strong,b,sub,sup,em,i,u,strike' : []
    }
    
    注:filterMode为true时有效。3.4版本开始属性可设置style,保留所有inline样式。
  9. resizeMode
    2或1或0,2时可以拖动改变宽度和高度,1时只能改变高度,0时不能拖动。
    数据类型:Int
    默认值:2
  10. skinType
    风格类型,default
    数据类型:String
    默认值:default
  11. wyswygMode
    可视化模式或代码模式
    数据类型:Boolean
    默认值:true
  12. cssPath
    指定编辑器iframe document的CSS,用于设置可视化区域的样式。
    数据类型:String或Array
    默认值:空
    注:3.4.1版本开始可指定多个CSS文件。例如:cssPath : ['a.css', 'b.css']
  13. skinsPath
    指定编辑器的skins目录,skins目录存放风格的css文件和gif图片。
    数据类型:String
    默认值:KE.scriptPath + 'skins/'
  14. pluginsPath
    指定编辑器的plugins目录。
    数据类型:String
    默认值:KE.scriptPath + 'plugins/'
  15. minChangeSize
    undo/redo文字输入最小变化长度,当输入的文字变化小于这个长度时不会添加到undo堆栈里。
    数据类型:Int
    默认值:5
  16. loadStyleMode
    true时自动加载编辑器的CSS。
    数据类型:Boolean
    默认值:true
    注: 3.4版本开始支持。
  17. urlType
    改变站内本地URL,可设置空、relative、absolute、domain。空为不修改URL,relative为相对路径,absolute为绝对路径,domain为带域名的绝对路径。
    数据类型:String
    默认值:空
    注: 3.4版本开始支持,3.4.1版本开始默认值为空。
  18. newlineTag
    设置回车换行标签,可设置p、br。
    数据类型:String
    默认值:br
    注: 3.4版本开始支持。
  19. afterCreate
    设置编辑器创建后执行的回调函数。
    数据类型:Function
    默认值:无
  20. afterDialogCreate
    设置弹出浮动框创建后执行的回调函数。
    数据类型:Function
    默认值:无
    注: 3.4.3版本开始支持。
  21. allowUpload
    true或false,true时显示上传图片标签。
    数据类型:Boolean
    默认值:true
    注: 3.4版本开始支持。
  22. allowFileManager
    true或false,true时显示浏览服务器图片功能。
    数据类型:Boolean
    默认值:false
    注: 3.4版本开始支持。
  23. referMethod
    设置referMethod后上传图片的POST参数里有referMethod。
    数据类型:String
    默认值:空
    注: 3.4版本开始支持。
  24. dialogAlignType
    设置弹出框(dialog)的对齐类型,可设置page和空,指定page时按当前页面居中,指定空时按编辑器居中。
    数据类型:String
    默认值:page
    注: 3.4.1版本开始支持。
  25. imageUploadJson
    指定上传图片的服务器端程序。
    数据类型:String
    默认值:../../php/upload_json.php
    注: 3.4.1版本开始支持。
  26. fileManagerJson
    指定浏览远程图片的服务器端程序。
    数据类型:String
    默认值:../../php/file_manager_json.php
    注: 3.4.1版本开始支持。
  27. shadowMode
    true或false,true时弹出层显示阴影。
    数据类型:Boolean
    默认值:true
    注: 3.5版本开始支持。
  28. allowPreviewEmoticons
    true或false,true时鼠标放在表情上可以预览表情。
    数据类型:Boolean
    默认值:true
    注: 3.5版本开始支持。
  29. useContextmenu
    true或false,true时使用自定义右键菜单,false时屏蔽自定义右键菜单。
    数据类型:Boolean
    默认值:true
    注: 3.5.3版本开始支持。
  30. syncType
    同步数据的方式,可设置"","auto","form",值为"auto"时每次修改时都会同步,"form"时提交form时同步,空时不会自动同步。
    数据类型:String
    默认值:"form"
    注: 3.5.3版本开始支持。
  31. tabIndex
    编辑器的tabindex。
    数据类型:Int
    默认值:TEXTAREA输入框的tabindex
    注: 3.5.3版本开始支持。
  32. afterChange
    编辑器内容发生变化后执行的回调函数。
    数据类型:Function
    默认值:无
    注: 3.5.3版本开始支持。
  33. afterTab
    按下TAB键后执行的的回调函数。
    数据类型:Function
    默认值:
    function(id) {
    	KE.util.setSelection(id);
    	KE.util.insertHtml(id, '    ');
    }
    
    注: 3.5.3版本开始支持。
  34. afterFocus
    编辑器聚焦(focus)时执行的回调函数。
    数据类型:Function
    默认值:无
    注: 3.5.3版本开始支持。
  35. afterBlur
    编辑器失去焦点(blur)时执行的回调函数。
    数据类型:Function
    默认值:无
    注: 3.5.3版本开始支持。
参数设置例子:
KE.show({
	id : "content_1",
	width : "70%", //编辑器的宽度为70%
	height : "200px", //编辑器的高度为100px
	filterMode : false, //不会过滤HTML代码
	resizeMode : 1 //编辑器只能调整高度
});

也可以在为业务字段创建编辑器时设置:

var editor = null;
KindEditor.ready(function (KE) {
    editor = KE.create('textarea[name="ArticleContent"]', {
	allowFileManager: true,
	width: "100%",
	height:500,
	afterBlur: function () { this.sync(); }
    });
});

编辑器调用

  1. 下载 KindEditor 最新版本。打开下载页面
  2. 解压zip文件,将所有文件上传到您的网站程序目录下。例如:http://您的域名/editor/
  3. 在需要显示编辑器的位置添加TEXTAREA输入框。
    id在当前页面必须是唯一的值,还有,在有些浏览器上不设宽度和高度可能显示有问题,所以最好设一下宽度和高度。宽度和高度可用inline样式设置,也可用编辑器初始化参数设置。
    在TEXTAREA里设置HTML内容即可实现编辑,在这里需要注意的是,如果从服务器端程序(ASP、PHP、ASP.NET等)直接显示内容,则必须转换HTML特殊字符(>,<,&,")。 具体请参考各语言目录下面的demo.xxx程序,目前支持ASP、ASP.NET、PHP、JSP。
    <textarea id="editor_id" name="content" style="width:700px;height:300px;">
    &lt;strong&gt;HTML内容&lt;/strong&gt;
    </textarea>
  4. 在该HTML页面添加以下脚本。
    <script charset="utf-8" src="/editor/kindeditor.js"></script>
    <script>
    	KE.show({
    		id : 'editor_id'
    	});
    </script>
    注:KE.show的原理是先执行KE.init设置一些变量,等DOM全部创建以后才开始执行KE.create创建编辑器。 如果浏览器不触发DOMContentLoaded事件(例如:jQuery的$.ready,点击某个按钮,通过innerHTML插入HTML等),则不能使用KE.show,需要直接调用KE.init和KE.create。
    KE.init({
    	id : 'editor_id'
    });
    $.ready(function() {
    	KE.create('editor_id');
    });
    调用KE.show和KE.init时,除id之外还可以设置其它的参数,具体属性请参考编辑器初始化参数
  5. 取得编辑器的HTML内容。
    KindEditor的可视化操作在新创建的iframe上执行,代码模式下的textarea框也是新创建的,所以最后提交前需要将HTML数据同步到原来的textarea,KE.sync函数会完成这个动作。
    KindEditor在默认情况下自动寻找textarea所属的form元素,找到form后onsubmit事件里添加KE.sync函数,所以用form方式提交数据,不需要手动执行KE.sync函数。
    //取得HTML内容
    html = KE.html('editor_id');
    //同步数据后可以直接取得textarea的value
    KE.sync('editor_id');
    html = document.getElementById('editor_id').value;
    html = $('#editor_id').val(); //jQuery
    //设置HTML内容
    KE.html('editor_id', 'HTML内容');

网站&系统开发技术学习交流群:463167176

本站文章除注明转载外,均为本站原创或翻译,欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,共创和谐网络环境。
转载请注明:文章转载自:华晨软件-云微开发平台 » 认识HTML富文本KindEditor编辑器
本文标题:认识HTML富文本KindEditor编辑器
本文地址:http://www.hocode.com/OrgTec/UI/0014.html

相关文章: 深入Web框架-JQuey对CheckBox、RadioButton和DropDownList值操作和事件

电话
电话 18718672256

扫一扫
二维码