KindEditor是一套开源的HTML可视化编辑器,主要用于让用户在网站上获得所见即所得编辑效果,兼容IE、Firefox、Chrome、Safari、Opera等主流浏览器。下载地址:http://www.kindsoft.net/down.php
解压文件之后的文件目录如下图:
其中,asp、asp.net、jsp和php文件夹是后台处理程序,examples是演示文件,可以根据自己需求删除后上传至自己的服务器。
接下来就是调用kindeditor,在页面上实现在线HTML编辑功能。
第一步,先在需要调用编辑器的表单中添加文本域textarea,作为KindEditor实现的载体,示例代码如下:
1 <textareaid="editor_id"name="content"style="width:700px;height:300px;"> 2 默认显示的内容 3 </textarea>
第二步,引入KindEditor的js文件。由于KindEditor是用JS编写的,因此在初始化编辑器之前,必须引入KindEditor的js文件,引入方法示例代码如下:
1 <script charset="utf-8" src="/你的目录/kindeditor.js"></script> 2 <script charset="utf-8" src="/你的目录/lang/zh_CN.js"></script>
第三步,初始化KindEditor编辑器,初始化示例如下:
1 <script> 2 KindEditor.ready(function(K) { 3 window.editor = K.create(‘#editor_id‘); 4 }); 5 </script>
Note:id在当前页面必须是唯一的值。
第四步,获取KindEditor中的HTML数据。KindEditor的可视化操作在新创建的iframe上执行,代码模式下的textarea框也是新创建的,所以最后提交前需要执行 sync() 将HTML数据设置到原来的textarea。示例代码如下:
1 <script> 2 // 取得HTML内容 3 html = editor.html(); 4 5 // 同步textarea["#editor_id"]和KindEditor数据后,可以直接取得textarea的value,否则textarea的值为空或者默认值 6 editor.sync(); 7 // 在下列方法中选择其一即可获取到KindEditor的HTML数据 8 html=document.getElementById(‘editor_id‘).value;// 原生API 9 html=K(‘#editor_id‘).val();// KindEditor Node API 10 html=$(‘#editor_id‘).val();// jQuery// 设置HTML内容editor.html(‘HTML内容‘); 11 </script>
Note: 1.在textarea里设置HTML内容即可实现编辑,在这里需要注意的是,如果从服务器端程序(ASP、PHP、ASP.NET等)直接显示内容,则必须转换HTML特殊字符(>,<,&,”)。具体请参考各语言目录下面的demo.xxx程序,目前支持ASP、ASP.NET、PHP、JSP。 2.KindEditor在默认情况下自动寻找textarea所属的form元素,找到form后onsubmit事件里添加sync函数,所以用form方式提交数据,不需要手动执行sync()函数。 3.KindEditor默认采用白名单过滤方式,可用 htmlTags 参数定义要保留的标签和属性。当然也可以用 filterMode 参数关闭过滤模式,保留所有标签。
参考内容:
1. KindEditor:http://kindeditor.net/docs/usage.html
时间: 2024-10-10 01:45:14