kindeditor在线编辑器的使用心得

1、 如何声明引用?

 
  1. <!DOCTYPE html>
  2. <html>
  3.  
  4. <head>
  5. <meta charset="utf-8" />
  6. <title>kindeditor在线编辑器的使用心得</title>
  7. <!-- 添加kindeditor的引用 -->
  8. <script type="text/javascript" charset="utf-8" src="js/kindeditor/kindeditor.js"></script>
  9. <script type="text/javascript" charset="utf-8" src="js/kindeditor/lang/zh_CN.js"></script>
  10. </head>
  11.  
  12. <script>
  13. var editor;
  14. KindEditor.ready(function(K){
  15. editor = K.create('textarea[id="content"]',{
  16. allowFileManager : true
  17. });
  18. });
  19. </script>
  20.  
  21. <body>
  22. <textarea id="content" style="width:100%;height: 500px;"></textarea>
  23. </body>
  24.  
  25. </html>

 

2、设置简单编辑器模式

 
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>02设置简单编辑器模式</title>
  6. <!-- 添加kindeditor的引用 -->
  7. <script type="text/javascript" charset="utf-8" src="js/kindeditor/kindeditor.js"></script>
  8. <script type="text/javascript" charset="utf-8" src="js/kindeditor/lang/zh_CN.js"></script>
  9. </head>
  10.  
  11. <script>
  12. var editor;
  13. KindEditor.ready(function(K){
  14. editor = K.create('textarea[id="content"]',{
  15. allowFileManager : true,
  16. //设置编辑器为简单模式
  17. items:[
  18. 'fontname','fontsize','i','forecolor','hilitecolor','bold','italic','underline',
  19. 'removeformat','i','justifyleft','justifycenter','justifyright','insertorderedlist',
  20. 'insertunorderedlist','i','emoticons','image','link'
  21. ]
  22. });
  23. });
  24. </script>
  25.  
  26. <body>
  27. <textarea id="content" style="width:100%;height: 500px;"></textarea>
  28. </body>
  29. </html>

3、如何获取kindeditor中的值?

 
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>03如何获取kindeditor中的值</title>
  6. <!-- 添加kindeditor的引用 -->
  7. <script type="text/javascript" charset="utf-8" src="js/kindeditor/kindeditor.js"></script>
  8. <script type="text/javascript" charset="utf-8" src="js/kindeditor/lang/zh_CN.js"></script>
  9. </head>
  10.  
  11. <script>
  12. var editor;
  13. KindEditor.ready(function(K){
  14. editor = K.create('textarea[id="content"]',{
  15. allowFileManager : true,
  16. //设置编辑器为简单模式
  17. items:[
  18. 'fontname','fontsize','i','forecolor','hilitecolor','bold','italic','underline',
  19. 'removeformat','i','justifyleft','justifycenter','justifyright','insertorderedlist',
  20. 'insertunorderedlist','i','emoticons','image','link'
  21. ],
  22. //这行代码就是关键所在,当失去焦点时执行this.sync()
  23. afterBlur : function() {
  24. this.sync();//这个函数就是同步kindeditor的值到textarea文本框
  25. }
  26. });
  27. });
  28. //获取kindeditor中的值
  29. function showKindeditor(){
  30. //获取textarea中的值并在div中展示
  31. document.getElementById("showKindeditor").innerHTML = document.getElementById("content").value;
  32. }
  33. </script>
  34.  
  35. <body>
  36. <div style="width:38%;height: 500px;border: 1px solid black;float: left;display: inline-block;">
  37. <div id="showKindeditor" style="width:100%;height: 70%;"></div>
  38. <button οnclick="showKindeditor()">显示kindeditor中的值</button>
  39. </div>
  40. <textarea id="content" style="width:60%;height: 500px;"></textarea>
  41. </body>
  42. </html>

4、如何设置kindeditor的值?

 
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>04如何设置kindeditor的值</title>
  6. <!-- 添加kindeditor的引用 -->
  7. <script type="text/javascript" charset="utf-8" src="js/kindeditor/kindeditor.js"></script>
  8. <script type="text/javascript" charset="utf-8" src="js/kindeditor/lang/zh_CN.js"></script>
  9. </head>
  10.  
  11. <script>
  12. var editor;
  13. KindEditor.ready(function(K){
  14. editor = K.create('textarea[id="content"]',{
  15. allowFileManager : true
  16. });
  17. });
  18. //设置kindeditor中的值
  19. function setKindeditor(){
  20. //kindeditor支持html的解析
  21. editor.html("<em><strong>jkdfh</strong></em>");
  22. }
  23. </script>
  24.  
  25. <body>
  26. <textarea id="content" style="width:60%;height: 500px;"></textarea>
  27. <button οnclick="setKindeditor();">设置kindeditor的值</button>
  28. </body>
  29. </html>

5、如何监听编辑器内容发生改变的事件

 
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>05如何监听编辑器内容发生改变的事件</title>
  6. <!-- 添加kindeditor的引用 -->
  7. <script type="text/javascript" charset="utf-8" src="js/kindeditor/kindeditor.js"></script>
  8. <script type="text/javascript" charset="utf-8" src="js/kindeditor/lang/zh_CN.js"></script>
  9. </head>
  10.  
  11. <script>
  12. var index = 1;
  13. var editor;
  14. KindEditor.ready(function(K){
  15. editor = K.create('textarea[id="content"]',{
  16. allowFileManager : true,
  17. afterChange : function(){
  18. document.getElementById("showKindeditor").innerHTML += "编辑器内容发生改变"+(index++) + "<br/>";
  19. }
  20. });
  21. });
  22. </script>
  23.  
  24. <body>
  25. <!--overflow:auto;溢出时自动显示滚动条-->
  26. <div id="showKindeditor" style="overflow:auto;width:38%;height: 500px;border: 1px solid black;float: left;display: inline-block;">
  27. <h3>用于打印日志</h3>
  28. </div>
  29. <textarea id="content" style="width:60%;height: 500px;"></textarea>
  30. </body>
  31. </html>

6、设置kindeditor为不可编辑状态

 
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>06设置kindeditor为不可编辑状态</title>
  6. <!-- 添加kindeditor的引用 -->
  7. <script type="text/javascript" charset="utf-8" src="js/kindeditor/kindeditor.js"></script>
  8. <script type="text/javascript" charset="utf-8" src="js/kindeditor/lang/zh_CN.js"></script>
  9. </head>
  10.  
  11. <script>
  12. var editor;
  13. KindEditor.ready(function(K){
  14. editor = K.create('textarea[id="content"]',{
  15. allowFileManager : true
  16. });
  17. //设置kindeditor为不可编辑状态
  18. editor.readonly(true);
  19. });
  20. </script>
  21.  
  22. <body>
  23. <textarea id="content" style="width:60%;height: 500px;"></textarea>
  24. </body>
  25. </html>

7、如何修改预览(preview)点击之后弹出框的大小?

找到preview.js文件,修改里面的宽度和高度即可。

 

8、kindeditor-4.1.10只读模式下可以全屏

kindeditor-4.1.10只读模式下不可以全屏,

对此KindEditor的作者Roddy给出的解决方案是,需要修改源码:

kindeditor.js里搜索

self.toolbar.disableAll(isReadonly, []);

改为

self.toolbar.disableAll(isReadonly, ['fullscreen']);

然后就可以在只读模式下进行全屏展现了:

全屏之后又会变成可编辑模式,解决办法:

afterFocus : function(){//设置为不可编辑,只是内容   

     this.blur();

}

  

 9、附上源码

 

kindeditor-4.0帮助文档.chm

kindeditor插件包.zip

KindEditor例子.zip 

 下载地址 : http://pan.baidu.com/s/1bHPOHg

 

转载于:https://my.oschina.net/u/3616609/blog/1486347

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,我们需要在 Spring Boot 项目中引入 kindeditor 的相关依赖。可以通过在 Maven 或 Gradle 配置文件中添加以下依赖来实现: Maven: ```xml <dependency> <groupId>com.github.kindeditor</groupId> <artifactId>kindeditor</artifactId> <version>4.1.11</version> </dependency> ``` Gradle: ```groovy compile group: 'com.github.kindeditor', name: 'kindeditor', version: '4.1.11' ``` 接着,在 Spring Boot 项目中添加一个控制器,用于处理 kindeditor 的上传请求和获取文件列表请求。示例代码如下: ```java @RestController @RequestMapping("/kindeditor") public class KindEditorController { @Autowired private Environment env; /** * KindEditor上传文件接口 * @param file * @param request * @return */ @PostMapping("/upload") public Map<String, Object> upload(@RequestParam("imgFile") MultipartFile file, HttpServletRequest request) { Map<String, Object> result = new HashMap<>(); String url = ""; try { // 获取上传文件目录 String uploadDir = env.getProperty("kindeditor.upload-dir"); if (StringUtils.isBlank(uploadDir)) { uploadDir = request.getServletContext().getRealPath("/upload"); } File dir = new File(uploadDir); if (!dir.exists()) { dir.mkdirs(); } // 获取上传文件名 String fileName = file.getOriginalFilename(); // 生成新的文件名 String newFileName = UUID.randomUUID().toString() + "." + StringUtils.substringAfterLast(fileName, "."); // 保存文件 File dest = new File(dir, newFileName); file.transferTo(dest); // 返回文件访问URL url = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + request.getContextPath() + "/upload/" + newFileName; result.put("error", 0); result.put("url", url); } catch (Exception e) { result.put("error", 1); result.put("message", "文件上传失败"); } return result; } /** * KindEditor获取文件列表接口 * @param request * @return */ @GetMapping("/filemanager") public Map<String, Object> fileManager(HttpServletRequest request) { Map<String, Object> result = new HashMap<>(); try { // 获取上传文件目录 String uploadDir = env.getProperty("kindeditor.upload-dir"); if (StringUtils.isBlank(uploadDir)) { uploadDir = request.getServletContext().getRealPath("/upload"); } File dir = new File(uploadDir); if (!dir.exists()) { dir.mkdirs(); } // 遍历目录,获取文件列表 List<Map<String, Object>> fileList = new ArrayList<>(); File[] files = dir.listFiles(); if (files != null && files.length > 0) { for (File file : files) { Map<String, Object> fileInfo = new HashMap<>(); fileInfo.put("is_dir", file.isDirectory()); fileInfo.put("has_file", file.isFile()); fileInfo.put("filesize", file.length()); fileInfo.put("filename", file.getName()); fileInfo.put("datetime", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(file.lastModified()))); fileList.add(fileInfo); } } result.put("error", 0); result.put("file_list", fileList); } catch (Exception e) { result.put("error", 1); result.put("message", "文件列表获取失败"); } return result; } } ``` 其中,`upload` 方法用于处理 kindeditor 的上传请求,`filemanager` 方法用于获取文件列表请求。在 `upload` 方法中,我们通过 `MultipartFile` 接口获取上传的文件信息,然后将文件保存至指定目录,并返回文件访问 URL。在 `filemanager` 方法中,我们遍历指定目录下的所有文件,并将文件信息封装成列表返回。 最后,在前端页面中引入 kindeditor 的相关资源文件,并在页面中添加文本编辑器元素。示例代码如下: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>KindEditor富文本编辑器</title> <link rel="stylesheet" href="http://cdn.staticfile.org/kindeditor/4.1.11/themes/default/default.css" /> <script src="http://cdn.staticfile.org/kindeditor/4.1.11/kindeditor.js"></script> <script src="http://cdn.staticfile.org/kindeditor/4.1.11/lang/zh-CN.js"></script> </head> <body> <textarea id="editor"></textarea> <script> KindEditor.ready(function(K) { K.create('#editor', { uploadJson: '/kindeditor/upload', fileManagerJson: '/kindeditor/filemanager' }); }); </script> </body> </html> ``` 在以上代码中,我们引入了 kindeditor 的相关资源文件,并在页面中添加了一个 ID 为 `editor` 的 textarea 元素,然后通过 JavaScript 代码初始化了 kindeditor,并设置了上传文件和获取文件列表的 URL。 至此,我们就可以在 Spring Boot 项目中轻松实现 kindeditor 的富文本编辑器功能了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值