kunpeng9 / GTD2020-05-31

2020-05-31创建【将github的项目链接等放入滴答清单进行管理或者印象笔记等,实践证明都不可行,不好用,完全被搁置了】
The Unlicense
26 stars 5 forks source link

fex-team/ueditor: rich text 富文本编辑器 #58

Open kunpeng9 opened 3 years ago

kunpeng9 commented 3 years ago

鉴于目前 ISSUE 较多而维护时间较少,且在进行后续的版本更新,目前暂时关闭 ISSUE,若社区有人跟进,欢迎和我们联系。重复的问题,请参阅常见问题的 FAQ Wiki

重要安全通告:

  1. commons-fileupload-1.3.1.jar 存在漏洞可能会导致 ddos,源代码中已经修改,使用老版本的用户,强烈推荐升级 commons-fileupload.jar 至最新版本。(2018-04-09).
  2. UEditor 所提供的所有后端代码都仅为 DEMO 作用,切不可直接使用到生产环境中,目前已知 php 的代码会存在 ssrf 的安全漏洞。修复方式:使用最新的 Uploader.class code .

ueditor 富文本编辑器介绍

UEditor 是由百度 web 前端研发部开发所见即所得富文本 web 编辑器,具有轻量,可定制,注重用户体验等特点,开源基于 MIT 协议,允许自由使用和修改代码。

1 入门部署和体验

1.1 下载编辑器

  1. git clone 仓库
  2. npm install 安装依赖(如果没有安装 grunt , 请先在全局安装 grunt)
  3. 在终端执行 grunt default

1.2 创建 demo 文件

解压下载的包,在解压后的目录创建 demo.html 文件,填入下面的 html 代码

<!DOCTYPE HTML>
<html lang="en-US">
<head>
    <meta charset="UTF-8">
    <title>ueditor demo</title>
</head>
<body>
    <!-- 加载编辑器的容器 -->
    <script id="container" name="content" type="text/plain">这里写你的初始化内容</script>
    <!-- 配置文件 -->
    <script type="text/javascript" src="ueditor.config.js"></script>
    <!-- 编辑器源码文件 -->
    <script type="text/javascript" src="ueditor.all.js"></script>
    <!-- 实例化编辑器 -->
    <script type="text/javascript">
        var ue = UE.getEditor('container');
    </script>
</body>
</html>

1.3 在浏览器打开 demo.html

如果看到了下面这样的编辑器,恭喜你,初次部署成功!

1.4 传入自定义的参数

编辑器有很多可自定义的参数项,在实例化的时候可以传入给编辑器:

var ue = UE.getEditor('container', {
    autoHeight: false
});

配置项也可以通过 ueditor.config.js 文件修改,具体的配置方法请看[前端配置项说明](http://fex.baidu.com/ueditor/#start-config1.4 前端配置项说明. md)

1.5 设置和读取编辑器的内容

通 getContent 和 setContent 方法可以设置和读取编辑器的内容

var ue = UE.getEditor();
//对编辑器的操作最好在编辑器ready之后再做
ue.ready(function(){
    //设置编辑器的内容
    ue.setContent('hello');
    //获取html内容,返回: <p>hello</p>
    var html = ue.getContent();
    //获取纯文本内容,返回: hello
    var txt = ue.getContentTxt();
});

ueditor 的更多 API 请看API 文档

1.6 dev-1.5.0 版本二次开发自定义插件注意事项

dev-1.5.0 版对于插件的加载逻辑进行了调整,但官网对应的二次开发功能文档未对相应调整做出开发细节说明,现补充如下:

除进行原有配置外,还需在实例化 ueditor 编辑器时在 toolbars 参数数组中,加入自定义插件的 uiname,并且注意 uiname 必须小写,方可正确加载自定义插件。

2 详细文档

ueditor 官网:http://ueditor.baidu.com

ueditor API 文档:http://ueditor.baidu.com/doc

ueditor github 地址:http://github.com/fex-team/ueditor

ueditor 第三方插件贡献 wiki : 第三方插件贡献规范

ueditor 贡献代码规范(javascript): javascript 规范

3 第三方贡献

ueditor for nodejs 参考https://github.com/netpi/ueditor

4 联系我们

email:ueditor@baidu.com

issue:github issue https://github.com/fex-team/ueditor