博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
121 项目 017 笔记向 ckeditor 简单使用
阅读量:7105 次
发布时间:2019-06-28

本文共 5007 字,大约阅读时间需要 16 分钟。

hot3.png

下载 && 引入

下载地址:

输入图片说明

可以看到有四种下载方式,分别是基本版、标准版、完整版以及定制

这里我下载的是完整版,之后还会说明怎么定制。

然后解压后放到你的网站目录中,引用代码如下:

    
Title

运行效果:

输入图片说明

定制ToolBar

现在打开解压后的CKEditor中的samples文件夹中的index

输入图片说明

点击 TOOLBARCONFIGURATOR 按钮

输入图片说明

选中Advanced

此时就可以看到 ToolBar 中每一个组件对应的名称,你可以像默认的那样给组件分组,也可以直接写

然后把你想要的组件的名字写入:ckeditor/config.js

如下是我的配置:

/** * @license Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. * For licensing, see LICENSE.md or http://ckeditor.com/license */CKEDITOR.editorConfig = function( config ) {	// Define changes to default configuration here. For example:	// config.language = 'fr';	// config.uiColor = '#AADC6E';    config.extraPlugins = 'widgetselection';    config.extraPlugins = 'lineutils';    config.extraPlugins = 'widget';    config.extraPlugins = 'codesnippet';    config.codeSnippet_theme = 'railscasts';        config.toolbar = [        [            'Link', 'Unlink',            '-' ,            'TextColor', 'BGColor',            '-',            'Image', 'Flash', 'Table',            '-',            'Bold', 'Italic', 'Strike',            '-',            'NumberedList', 'BulletedList',            '-',            'JustifyLeft', 'JustifyCenter',            '-',            'Blockquote','CodeSnippet',            '-',            'Format',            '-',            'Preview','Source','Maximize'            ]    ];};

运行效果如下:

输入图片说明

其实我就是按照开源中国的排列方式做的

添加插件

这里以一个插件代码的插件codesnippet 为例

你可以在如下网址搜索插件:

找到后下载

输入图片说明

也可以点击 Add to my editor

这样你可以需要什么插件就添加什么插件,完事之后点击右边的 Build My Editor 下载你的定制版,这个方法还有个好处就是可以自动包含依赖包,不用你手动的下载了,推荐这种方法

下载后用使用方法的提示

输入图片说明

注意第3条提示

你只是下载这个插件还不行,直接引用 的话会有错误,因为你还要下载他的依赖包

输入图片说明

下载好依赖包后,根据提示配置好,如下:

/** * @license Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. * For licensing, see LICENSE.md or http://ckeditor.com/license */CKEDITOR.editorConfig = function( config ) {	// Define changes to default configuration here. For example:	// config.language = 'fr';	// config.uiColor = '#AADC6E';    config.extraPlugins = 'widgetselection';    config.extraPlugins = 'lineutils';    config.extraPlugins = 'widget';    config.extraPlugins = 'codesnippet';    config.codeSnippet_theme = 'railscasts';    config.toolbar = [        [            'Link', 'Unlink',            '-' ,            'TextColor', 'BGColor',            '-',            'Image', 'Flash', 'Table',            '-',            'Bold', 'Italic', 'Strike',            '-',            'NumberedList', 'BulletedList',            '-',            'JustifyLeft', 'JustifyCenter',            '-',            'Blockquote','CodeSnippet',            '-',            'Format',            '-',            'Preview','Source','Maximize'        ]    ];};

每个插件都有相应的文档,比如这个插件的配色方案在:

根据文档可知修改配色方案的方法在:

图片上传和回显

首先是显示上传的tab

// 上传路径   config.filebrowserUploadUrl = '/uploadck';   // 图片服务器路径   //config.filebrowserBrowseUrl='/browser/browse.php',   // 预览图片时的文字   config.image_previewText=' ';

运行之后的效果:

输入图片说明

前台页面代码

    

文件:

后台代码

package com.laolang.gongda.bookstore.web;import com.laolang.gongda.bookstore.service.PicUploadService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.multipart.MultipartFile;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import java.io.PrintWriter;@Controllerpublic class UploadController {    @Autowired    private PicUploadService picUploadService;    @RequestMapping(value = "/upload")    public String uploadForm(){        return "upload";    }    @RequestMapping(value = "/upload",method = RequestMethod.POST)    public String upload( @RequestParam("file")MultipartFile multipartFile , Model model){        String result = picUploadService.uploadPic(multipartFile);        if( null == result ){            result = "上传失败";        }        System.out.println(result);        model.addAttribute("msg",result);        return "result";    }    // ckeditor 上传和回显    @RequestMapping(value = "/uploadck", method = RequestMethod.POST)    public void uploadCk(@RequestParam(name = "upload") MultipartFile multipartFile, HttpServletRequest request, HttpServletResponse response) throws IOException {        System.out.println("hello");        System.out.println("world");        // 上传        String fileName = picUploadService.uploadPic(multipartFile);        // 回显        response.setContentType("text/html;charset=UTF-8");        String callback = request.getParameter("CKEditorFuncNum");        PrintWriter out = response.getWriter();        out.println("");        out.flush();        out.close();    }}

关键是回显的那一部分 我返回的 fileName 是图片在服务器上的绝对路径,然后这个控制器向浏览器返回了一段JS脚本,这样就可以上传图片之后立即预览。效果图就不发了。

参考

未完项

  1. 详细设置,比如禁止修改高度
  2. 自定义插件
  3. 其它问题

转载于:https://my.oschina.net/iamhere/blog/841293

你可能感兴趣的文章
MySQL
查看>>
2018-08-14期 Zookeeper客户端连接工具ZooInspector使用方法
查看>>
unity3D初识对象池技术
查看>>
emulator-arm.exe停止工作
查看>>
spring用动态代理还是cglib?
查看>>
共同抵制恶意APP CNCERT公布首批黑名单
查看>>
STP工作过程分析<欢迎指正>
查看>>
您是在为这些问题苦恼吗?
查看>>
几种http-equiv
查看>>
gnuplot绘制曲线图
查看>>
静态缓存
查看>>
使用mdadm创建软raid
查看>>
网络传输之数据单位 kbpsKB/s
查看>>
jquey写的简单图片轮转
查看>>
《JavaScript权威指南》代码解读 -- 第9章:类和模块 (导论)
查看>>
字符测试 =~ 用法
查看>>
【OSChina-MoPaaS应用开发大赛】BiLi记事本
查看>>
Java: String, StringBuilder和StringBuffer 三者之间的区别
查看>>
在linux下安装配置svn独立服务器
查看>>
具有潜力的语言
查看>>