基于 ueditor的更现代化的富文本编辑器,支持HTTPS

Overview

新版发布

2.1 发布,此次版本移除了后端相关代码,纯 ajax 提交,请配置 neditor.config.js neditor.service.js,支持各种后端或者云存储。

捐赠

该项目需要您的支持, 捐赠 以支持此项目的发展。

第一步:下载编辑器

方式一:完整安装包 (推荐)

方式二: npm安装

npm i @notadd/neditor -S

方式三:编译安装

git clone https://github.com/notadd/neditor.git
npm install
npm run build

第二步:在浏览器打开 index.html

进入到目录 dist , 使用浏览器打开文件 index.html

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

部署成功

相关版本

Angular 版 Neditor

Vue 版 Neditor 【第三方维护】

Rails 版 Neditor 【第三方维护】

技术支持

该项目基于 MIT 协议开源,任何组织/企业以及个人都可以免费使用(保留版权)。
如果您需要额外商业技术支持或者定制编辑器,请联系 QQ:1256985886

其他版本待添加

自定义的参数

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

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

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

编辑器图片、视频、涂鸦、附件上传service

编辑器上传逻辑单独在 neditor.service.js 文件配置,具体的配置方法见注释

设置和读取编辑器的内容

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

var ue = UE.getContent();
ue.ready(function(){
    //设置编辑器的内容
    ue.setContent('hello');
    //获取html内容,返回: <p>hello</p>
    var html = ue.getContent();
    //获取纯文本内容,返回: hello
    var txt = ue.getContentTxt();
});

Ueditor 的更多API请看API 文档

下载地址

Neditor 码云: http://gitee.com/notadd/neditor

Neditor github 地址:http://github.com/notadd/neditor

相关链接

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

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

详细文档

Ueditor 文档:http://fex.baidu.com/ueditor/

注: 对IE8以下版本不再承诺兼容

关于 HTTPS

使用了 又拍云CDN 服务,支持跨域 和 https。

如果有需要,也可将下面域名改成自己的。

imgbaidu.b0.upaiyun.com
tingapi.b0.upaiyun.com

联系我们

Neditor官方交流群:257753500

QQ 群: 321735506

issue

Todo

2.1

  • 将上传封装为 service ,支持非 GraphQL 接口。
  • 细节样式修改(美化)

2.2

  • word 内图片自动上传
  • 粘贴图片转为本地图片(图片本地化)

2.3

  • 上传文件/图片无需后端

3.0

  • 使用 Typescript 重构
  • 草稿箱功能与离线保存
  • service worker 特性
  • 实现 2.0 的大部分功能

其他项目:Notadd

https://github.com/notadd/notadd

感谢提供赞助:

 

Comments
  • 发现bug,视频文件上传链接地址获取不对

    发现bug,视频文件上传链接地址获取不对

    视频文件上传链接地址获取不对 我修改了源码video.js文件中741行如下: uploadVideoList.push({ 'url': res.url, 'type': res.mimetype, 'original':res.original || '' }); 修改为: uploadVideoList.push(res);

    opened by yunemr 7
  • 如何通过registerUI来添加自定义按钮

    如何通过registerUI来添加自定义按钮

    首选,已使用百度的ueditor通过提供的registerUI来添加自定义的按钮。

    window.UE.registerUI('Button', function (editor, uiName) {
        return new window.UE.ui.Button({
              // do the jod
         })
    })
    

    ueditor上的相关文档

    而到了neditor,方法失败且报错。 通过看到源代码,同是提供的registerUI(uiName,fn,index,editorId)方法,

    • ueditor中注册的uiName是用UE._customizeUI来放置的,然后遍历这个对象来生成外部定制的UI.
    • neditor中注册的uiName使用baidu.editor.ui来放置,而里面会有内部内置的UI,例如baidu.editor.ui.ColorPicker,baidu.editor.ui.Button,baidu.editor.ui.Toolbar等等内部的UI,而按照我之前的写法,baidu.editor.ui.Button会被window.UE.registerUI('Button',fn)给重置了,将导致内部错误。
    • 从源代码中看来,neditor是错误实现了registerUI方法,应该采用ueditor的实现方式。
    opened by Link-Fight 6
  • 涂鸦上传地址插入报错解决办法

    涂鸦上传地址插入报错解决办法

    Neditor-2.1.16 涂鸦上传成功后,直接返回图片地址,在插入时以下代码scrawl.js,653行导致报错:

    if(srcFieldKeys.length > 1) {
                            function setSrc(obj, keys, index) {
                                obj = obj[keys[index]];
                                if (index < keys.length - 1) {
                                    setSrc(obj, keys, index += 1)
                                } else {
                                    src = obj;
                                }
                            }
                            setSrc(data, srcFieldKeys, 0);
                        } else {
                            src = data[srcField];
                        }
    

    报错如下:

    Uncaught TypeError: Cannot read property 'xxx' of undefined
        at setSrc (scrawl.js:655)
        at setSrc (scrawl.js:657)
        at scrawl.<anonymous> (scrawl.js:662)
        at Object.<anonymous> (neditor.service.js:196)
        at i (jquery.min.js:2)
        at Object.fireWith [as resolveWith] (jquery.min.js:2)
        at z (jquery.min.js:4)
        at XMLHttpRequest.<anonymous> (jquery.min.js:4)
    

    修改后代码:

    if (data.responseSuccess) {
                        var imgObj = {},
                            // srcField = data.scrawlSrcField || 'url',
                            src = data.scrawlSrcField,
                            // srcFieldKeys = srcField.split('.'),
                            prefix = editor.options.scrawlUrlPrefix;
    
                        // if(srcFieldKeys.length > 1) {
                        //     function setSrc(obj, keys, index) {
                        //         obj = obj[keys[index]];
                        //         if (index < keys.length - 1) {
                        //             setSrc(obj, keys, index += 1)
                        //         } else {
                        //             src = obj;
                        //         }
                        //     }
                        //     setSrc(data, srcFieldKeys, 0);
                        // } else {
                        //     src = data[srcField];
                        // }
                        
                        imgObj.src = prefix + src;
                        imgObj._src = prefix + src;
                        imgObj.alt = data.original || '';
                        editor.execCommand("insertImage", imgObj);
                        dialog.close();
                    } else {
                        addMaskLayer(data.message + "&nbsp;&nbsp;&nbsp;<input type='button' value='" + lang.continueBtn + "'  onclick='removeMaskLayer()'/>");
                    }
    

    本人注释掉了一部分代码,因为是直接返回的图片地址,不需要做额外处理了。

    opened by Skqing 4
  • 插入视频回显时中间视频图标丢失

    插入视频回显时中间视频图标丢失

    插入视频时回显是正常的,中间带有视频图标,如图: image

    编辑页面把值重新用setContent设置到编辑器里,结果中间视频图标不显示,调试看生成的代码是这样的:

    "<img  width="420" height="280" _url="http://player.youku.com/player.php/sid/XMzgzOTgyMzc4MA==/v.swf" class="edui-faked-video" src="http://localhost:8282/static/plugins/Neditor-2.1.6/themes/notadd/images/spacer.gif" style="background:url(http://localhost:8282/static/plugins/Neditor-2.1.6/themes/notadd/images/videologo.gif) no-repeat center center; border:1px solid gray;" data-ad="1234567890"/>"
    

    但是检查HTML属性结果却是: image style属性没了,请问是啥原因?

    opened by Skqing 4
  • 微信公众号粘贴过来,图片大小不对

    微信公众号粘贴过来,图片大小不对

    随便举个例子 https://mp.weixin.qq.com/s?src=11&timestamp=1539226807&ver=1175&signature=TmeYzn1ejdKyNLlIp3nlz5Ptko7IPlBcqW*K1YjMB89m0IJPXhKrNcpBiU-dPLEaJqm*vei*4SM*ZJUrSIKj7jvY-c9nfnTD989Fuwr*tt3Q3cWgUycPNHK07-TyK6xE&new=1
    复制粘贴,正文
    在ueditor里,样式不变
    在neditor里,图片变的非常非常小

    opened by zhfish 4
  • 图片设置浮动会被过滤

    图片设置浮动会被过滤

    选择图片选择浮动

    <p><img src="https://www.notadd.com/src/neditor-demo.webp" _src="https://www.notadd.com/src/neditor-demo.webp" width="317" height="292" style="width: 317px; height: 292px; float: left;">test</p>
    

    点击 html 按钮之后变成

    <p>
        <img src="https://www.notadd.com/src/neditor-demo.webp" width="317" height="292"/>test
    </p>
    

    建议在配置里加上 style

    whitList: [
    ...
    img: ['src', 'alt', 'title', 'width', 'height', 'id', '_src', '_url', 'loadingclass', 'class', 'data-latex'],
    =>
    img: ['style', 'src', 'alt', 'title', 'width', 'height', 'id', '_src', '_url', 'loadingclass', 'class', 'data-latex'],
    
    opened by Zclhlmgqzc 3
  • .Net Core版本的后端文件上传服务

    .Net Core版本的后端文件上传服务

    NEditor的作者您好,

    今天有人告知了我NEditor的存在,我的心情是万分激动的,之前一直觉得UEditor挺好,就是很多BUG,官方也不维护了,很高兴看到有个大牛能够继续维护这个宇宙第一富文本编辑器。

    当然,这不是重点。

    最近我为微软最新的跨平台技术.NET Core写了UEditor的后端文件上传相关服务的API,看起来也是能够无缝的对接到您的NEditor中的,希望您能够在项目的文档中,将我的项目地址做一个链接,以便帮助到更多的人。 项目地址:https://github.com/baiyunchen/UEditor.Core

    再次感谢您的无私奉献!

    opened by baiyunchen 3
  • PHP版 demo  js 报错

    PHP版 demo js 报错

    环境 Win10 Chrome 63.0.3239.108 (64) neditor.all.min.js:5 Uncaught TypeError: Cannot read property 'addEventListener' of null at Object.on (http://127.0.0.1/utf8-php/neditor.all.min.js:5:18095) at UE.Editor. (http://127.0.0.1/utf8-php/neditor.all.min.js:11:2969) at UE.Editor.fireEvent (http://127.0.0.1/utf8-php/neditor.all.min.js:5:10909) at UE.Editor._setup (http://127.0.0.1/utf8-php/neditor.all.min.js:6:23140) at about:blank:1:576 请修复...

    opened by inbjo 3
  • 致命问题

    致命问题

    致命问题

    系统环境, mac, 浏览器 chrome, demo地址:https://demo.neditor.notadd.com/

    问题描述:

    鼠标移动到图标上(工具栏上)无提示,查看dom里的确title还在,但是不提示了,应该是改svg的问题

    百度官网的demo没这个问题,这个问题导致几乎要都点一遍才知道是什么功能,

    严重妨碍使用,望修复

    opened by henryatman 3
  • 你好,请问这是一个bug吗?

    你好,请问这是一个bug吗?

    我的问题是:

    使用toobar 里的"simpleupload"上传图片之后,离开编辑器,然后再点击图片,就只会选中这个图片,无法进入编辑状态:

    一开始正常上传: default

    上传然后退出编辑再点击图片时就无法编辑了,无法回到编辑状态,只能删除图片 default

    另外,我测试了设置editor高度为可变结果也是一样的,不能点击图片,否则无法再进入编辑状态。。。。。。。能不能看下呢,谢谢了。。。

    opened by cj-cp3 3
  • 插入地图有问题

    插入地图有问题

    我尝试了你的线上demo,百度原版的线上demo,以及我自己部署的demo,发现三个地方中:百度的能插入静态地图,neditor无法插入静态地图。动态地图都插入不了。我猜测是不是由于百度现在使用地图需要开发者秘钥的原因?如果是这个原因的话麻烦加个配置的接口吧,不然得手动添加,或者别人不知道以为是bug?

    opened by yuyeqianxun 3
  • chore(deps): bump decode-uri-component from 0.2.0 to 0.2.2

    chore(deps): bump decode-uri-component from 0.2.0 to 0.2.2

    Bumps decode-uri-component from 0.2.0 to 0.2.2.

    Release notes

    Sourced from decode-uri-component's releases.

    v0.2.2

    • Prevent overwriting previously decoded tokens 980e0bf

    https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.1...v0.2.2

    v0.2.1

    • Switch to GitHub workflows 76abc93
    • Fix issue where decode throws - fixes #6 746ca5d
    • Update license (#1) 486d7e2
    • Tidelift tasks a650457
    • Meta tweaks 66e1c28

    https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.0...v0.2.1

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • chore(deps-dev): bump grunt from 0.4.5 to 1.5.3

    chore(deps-dev): bump grunt from 0.4.5 to 1.5.3

    Bumps grunt from 0.4.5 to 1.5.3.

    Release notes

    Sourced from grunt's releases.

    v1.5.3

    • Merge pull request #1745 from gruntjs/fix-copy-op 572d79b
    • Patch up race condition in symlink copying. 58016ff
    • Merge pull request #1746 from JamieSlome/patch-1 0749e1d
    • Create SECURITY.md 69b7c50

    https://github.com/gruntjs/grunt/compare/v1.5.2...v1.5.3

    v1.5.2

    • Update Changelog 7f15fd5
    • Merge pull request #1743 from gruntjs/cleanup-link b0ec6e1
    • Clean up link handling 433f91b

    https://github.com/gruntjs/grunt/compare/v1.5.1...v1.5.2

    v1.5.1

    • Merge pull request #1742 from gruntjs/update-symlink-test ad22608
    • Fix symlink test 0652305

    https://github.com/gruntjs/grunt/compare/v1.5.0...v1.5.1

    v1.5.0

    • Updated changelog b2b2c2b
    • Merge pull request #1740 from gruntjs/update-deps-22-10 3eda6ae
    • Update testing matrix 47d32de
    • More updates 2e9161c
    • Remove console log 04b960e
    • Update dependencies, tests... aad3d45
    • Merge pull request #1736 from justlep/main fdc7056
    • support .cjs extension e35fe54

    https://github.com/gruntjs/grunt/compare/v1.4.1...v1.5.0

    v1.4.1

    • Update Changelog e7625e5
    • Merge pull request #1731 from gruntjs/update-options 5d67e34
    • Fix ci install d13bf88
    • Switch to Actions 08896ae
    • Update grunt-known-options eee0673
    • Add note about a breaking change 1b6e288

    https://github.com/gruntjs/grunt/compare/v1.4.0...v1.4.1

    v1.4.0

    • Merge pull request #1728 from gruntjs/update-deps-changelog 63b2e89
    • Update changelog and util dep 106ed17
    • Merge pull request #1727 from gruntjs/update-deps-apr 49de70b
    • Update CLI and nodeunit 47cf8b6
    • Merge pull request #1722 from gruntjs/update-through e86db1c
    • Update deps 4952368

    ... (truncated)

    Changelog

    Sourced from grunt's changelog.

    v1.5.3 date: 2022-04-23 changes: - Patch up race condition in symlink copying. v1.5.2 date: 2022-04-12 changes: - Unlink symlinks when copy destination is a symlink. v1.5.1 date: 2022-04-11 changes: - Fixed symlink destination handling. v1.5.0 date: 2022-04-10 changes: - Updated dependencies. - Add symlink handling for copying files. v1.4.1 date: 2021-05-24 changes: - Fix --preload option to be a known option - Switch to GitHub Actions v1.4.0 date: 2021-04-21 changes: - Security fixes in production and dev dependencies - Liftup/Liftoff upgrade breaking change. Update your scripts to use --preload instead of --require. Ref: https://github.com/js-cli/js-liftoff/commit/e7a969d6706e730d90abb4e24d3cb4d3bce06ddb. v1.3.0 date: 2020-08-18 changes: - Switch to use safeLoad for loading YML files via file.readYAML. - Upgrade legacy-log to ~3.0.0. - Upgrade legacy-util to ~2.0.0. v1.2.1 date: 2020-07-07 changes: - Remove path-is-absolute dependency. (PR: gruntjs/grunt#1715) v1.2.0 date: 2020-07-03 changes: - Allow usage of grunt plugins that are located in any location that is visible to Node.js and NPM, instead of node_modules directly inside package that have a dev dependency to these plugins. (PR: gruntjs/grunt#1677) - Removed coffeescript from dependencies. To ease transition, if coffeescript is still around, Grunt will attempt to load it. If it is not, and the user loads a CoffeeScript file, Grunt will print a useful error indicating that the coffeescript package should be installed as a dev dependency.

    ... (truncated)

    Commits
    Maintainer changes

    This version was pushed to npm by vladikoff, a new releaser for grunt since your current version.


    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • 很久没有发版本了,最近会有新版本吗

    很久没有发版本了,最近会有新版本吗

    声明:如果不看该说明,只在标题中描述问题,一律忽略

    首先,感谢各位使用 Neditor,并来到这儿提 ISSUE

    其次,在回答大量用户提出的 ISSUE 的过程中,我们发现需要建立一个提 ISSUE 的规则, 将我们的主要精力投入到修复 Neditor Bugs 和改进 Neditor 中去,让越来越多的人能够使用的舒心。

    规则

    • ISSUE 之前,请先看看文档。传送门:文档。很多问题,在文档中都能有答案。特别是配置之类的。
    • ISSUE 之前,请先问问搜索引擎(百度、Google),因为你遇到的问题,可能其他人也遇到了,并且已经解决了。 只需要动动手指,在输入框里输入,就会有答案,这样方便,远比等我们回复快捷。
    • ISSUE 之前,如果你已经走过上面两步了,来到 ISSUE 这个页面了,此刻,请别急,建议你再搜索一下ISSUE。 因为,或许你将提的问题,也有人遇到了,而且我们已经反馈了。这时,你只需要找到相应的 ISSUE,在那个 ISSUE 里留下你的关注就好了。很简单吧!

    以上都不满足你,看来这一定是个新的问题。首先,我们要感谢你,帮我们发现了一个新的问题,但是,为了使问题能尽快得到解决。我们建议你按照如下的规则来提:

    • 构想清楚问题的表达;
    • 写一个简明扼要的标题
    • 写一个能描述清楚问题的内容,如果有复现步骤及截图当是极好的;

    最后,是我们的一点希望:希望提 ISSUE 的同学,能自行排查、定位问题,甚至自行修复,然后给我们提 Pull Request。即使做不到提 Pull Request,但是你的排查的过程也是在增加你的 debug 的能力。

    再次感谢各位选择 Neditor

    opened by clancytom 0
  • chore(deps): bump path-parse from 1.0.6 to 1.0.7

    chore(deps): bump path-parse from 1.0.6 to 1.0.7

    Bumps path-parse from 1.0.6 to 1.0.7.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • 把neditor放到form中提交,如何做到点击源代码直接点击提交,而不是点击源代码编辑完之后,再点击源代码保存后,在进行提交呢?

    把neditor放到form中提交,如何做到点击源代码直接点击提交,而不是点击源代码编辑完之后,再点击源代码保存后,在进行提交呢?

    声明:如果不看该说明,只在标题中描述问题,一律忽略

    首先,感谢各位使用 Neditor,并来到这儿提 ISSUE

    其次,在回答大量用户提出的 ISSUE 的过程中,我们发现需要建立一个提 ISSUE 的规则, 将我们的主要精力投入到修复 Neditor Bugs 和改进 Neditor 中去,让越来越多的人能够使用的舒心。

    规则

    • ISSUE 之前,请先看看文档。传送门:文档。很多问题,在文档中都能有答案。特别是配置之类的。
    • ISSUE 之前,请先问问搜索引擎(百度、Google),因为你遇到的问题,可能其他人也遇到了,并且已经解决了。 只需要动动手指,在输入框里输入,就会有答案,这样方便,远比等我们回复快捷。
    • ISSUE 之前,如果你已经走过上面两步了,来到 ISSUE 这个页面了,此刻,请别急,建议你再搜索一下ISSUE。 因为,或许你将提的问题,也有人遇到了,而且我们已经反馈了。这时,你只需要找到相应的 ISSUE,在那个 ISSUE 里留下你的关注就好了。很简单吧!

    以上都不满足你,看来这一定是个新的问题。首先,我们要感谢你,帮我们发现了一个新的问题,但是,为了使问题能尽快得到解决。我们建议你按照如下的规则来提:

    • 构想清楚问题的表达;
    • 写一个简明扼要的标题
    • 写一个能描述清楚问题的内容,如果有复现步骤及截图当是极好的;

    最后,是我们的一点希望:希望提 ISSUE 的同学,能自行排查、定位问题,甚至自行修复,然后给我们提 Pull Request。即使做不到提 Pull Request,但是你的排查的过程也是在增加你的 debug 的能力。

    再次感谢各位选择 Neditor

    opened by ghost 0
Releases(2.1.19)
  • 2.1.19(Apr 30, 2020)

    BUG 修复

    修复自动排版配置弹窗中无法设置文字两端对齐的问题(by @OrchidLiu ) 修复远程图片抓取插件默认配置无效的问题(by @OrchidLiu ) 修复部分依赖的安全问题

    Source code(tar.gz)
    Source code(zip)
  • 2.1.18(Jul 13, 2019)

  • 2.1.17(Apr 27, 2019)

  • 2.1.16(Apr 22, 2019)

  • 2.1.15(Jan 7, 2019)

  • 2.1.14(Jan 4, 2019)

  • 2.1.13(Dec 29, 2018)

  • 2.1.12(Dec 27, 2018)

    BUG 修复

    • 解决粘贴图片时提交的图片表单名称为 undefined 的问题 (by @ciey )

    注:此版本支持远程图片本地化(默认开启)【关闭请在: config 里设置 catchRemoteImageEnable】

    Source code(tar.gz)
    Source code(zip)
  • 2.1.11(Dec 10, 2018)

  • 2.1.10(Dec 7, 2018)

  • 2.1.9(Dec 4, 2018)

  • 2.1.8(Dec 1, 2018)

    BUG 修复

    • 修复cut操作的撤销栈记录不正确的问题 by @zzkaqq
    • 修复:webkit浏览器里加粗和删除线同时作用于一段文字时,无法直接取消删除线的问题 by @zzkaqq
    • 修复火狐滚动高度错误 by @dxcswl
    Source code(tar.gz)
    Source code(zip)
  • 2.1.7(Nov 29, 2018)

  • 2.1.6(Oct 11, 2018)

  • 2.1.2(Aug 31, 2018)

  • 2.1.1(Aug 29, 2018)

  • 2.1.0(Aug 17, 2018)

    新功能

    • 将上传服务重写为 service ,支持各类接口及云存储。
    • 删除编译后的 utf8-php 文件夹

    BUG 修复

    • 修复视频插入无代码
    • 修复音乐插入无代码
    • 修复锚点插入的BUG
    • 固定高度下,修复高度自动撑开问题
    • 修复 iframe 无法引入的问题
    • 修复图片搜索后,插入图片变小的问题
    • 修复附件无法上传的问题
    • 修复草稿箱无法正常使用的问题
    Source code(tar.gz)
    Source code(zip)
  • 2.0.0(Aug 15, 2018)

    新功能

    • 移除了所有后端代码,重写了上传逻辑
    • 图片/视频/涂鸦板 支持 ajax 提交
    • 发布了 npm 包 @notadd/neditor
    • 移除 test 测试

    BUG 修复

    • 修复图片无法搜索
    • 修复涂鸦板
    • 修复视频对齐按钮的图标问题
    Source code(tar.gz)
    Source code(zip)
  • 1.5.6(Aug 15, 2018)

  • v1.5.5(Aug 7, 2018)

    • 升级 apache commons-fileupload jar 修复旧版本BUG
    • 修复 make image uploader通过拖放上传发送相同的标题
    • 修复chrome下scrollTop获取错误导致图片缩放框错位的问题
    • 更新.net核心服务uri
    • 修复了domUtils.on事件列表首先为null
    • 使用lang名称修复构建i18n路径
    • 修复不使用args code perter
    • 修复编辑源码状态下,.focus()``和.blur()失效的问题
    • 修正大小写问题
    • 适用于在DIV中滚动,但页面不滚动的浮动toolba
    • 更新list.js修复预览时,由于路径设置的问题导致的自定义列表无法显示的问题
    • 修复多行文字,修改字号,加粗,再修改字号,只有第一行文字会改变的问题
    • 添加setPlaceholder方法用于设置占位符
    • 修复PHP当图片带有GET参数时,无法本地化的错误
    • 修复调整单元格对齐方式会导致TD中的textarea元素丢失的问题
    Source code(tar.gz)
    Source code(zip)
  • v1.5.4(Dec 21, 2017)

    • 增加在DIV 中滚动,但页面不滚动的浮动toolbar
    • 修复预览时,由于路径设置的问题导致的自定义列表无法显示的问题
    • 修复 多行文字,修改字号,加粗,再修改字号,只有第一行文字会改变
    • 添加setPlaceholder方法用于设置placeholder
    • 修复PHP当图片带有GET参数时,无法本地化的bug
    • 修复调整单元格对齐方式会导致td中textarea元素丢失的问题
    Source code(tar.gz)
    Source code(zip)
  • v1.5.3(Oct 20, 2017)

    修复上传时图片不能收缩的 BUG 增加 php 自动编译版本 增加 jsp 自动编译版本 增加 asp 自动编译版本 增加 .net 自动编译版本 修复其他 BUG

    Source code(tar.gz)
    Source code(zip)
  • v1.5.2(Sep 22, 2017)

  • v1.5.1(Sep 15, 2017)

    1. 修复simpleupload中上传图片之后,编辑器高度不一一定自动撑开
    2. 修复最新版 Google Chrome 浏览器,点击上传图片时,等待非常久(重复点击会出现N个文件浏览对话框)
    3. 修复部分图标样式问题。
    4. 其他BUG
    Source code(tar.gz)
    Source code(zip)
    v1.5.1.tar.gz(2.91 MB)
  • v1.5.0(Sep 8, 2017)

  • v1.4.4(May 27, 2017)

Owner
Notadd
(nt=notadd/nest)(ng=angular) (ngx=angular-extend)
Notadd