客户指明道姓需要使用百度编辑器,好吧,虽然自从李彦宏把一个好好的千千静听搞得节操尽碎之后,我就对百度的东西毫无好感,但是客户是上帝嘛,不就一个文本编辑器嘛,弄之,始料未及的是,就是这样一个简单的文本编辑器,差点搞了我一天(中间有做其它事儿).

百度编辑器,你这样坑,李彦宏造吗?感觉说多了都是泪啊!

----------------------------------吐槽分割线--------------------------------

具体编辑器的部署和实例就不说了.网上资料太多.说一说坑坑.

1。从官网上下载的东西居然有错。

如图:

包括ueditor.all.js,ueditor.all.min.都报这样的错,请注意,是差了东西,语法错误,我开始还以为是其它人为或是eclipse或是项目的问题,我断断续续从官网上下了五次,包括两种版本,aspjspphp各处语言,结果都报错。各种clean,甚至重启eclipse和电脑。如果是ueditor.all.js还可以自己去修正,这样的压缩的JS叫我从何下手啊?虽然说这样的错不影响使用效果,我也不是有代码洁癖,但这确实影响心情。

2。在页面引入时,ueditor.config.js一定要放在ueditor.all.min.js之前,不然编辑器根本无法显示出来.然后报此错:

搜了一下,在ueditor.config.js的最底部发现了这段代码:

  window.UE = {
getUEBasePath: getUEBasePath
};

好吧,我可以理解成为是对UE的初始化,以便在页面中使用UE创建编辑器的实例.但是我试着把这段代码注释掉,没有报错了,编辑器的实例同样创建了,且不影响正常编辑使用.这证明了,其实UE的初始化是在另一个地方完成的(我没找到不晓得在哪里),我不晓得这段代码用意为何,除了会引起报错以外.

3.神一样的文档和API

官网部署说明,如图:

是的,如果你按照官网的介绍,这样部署,恭喜你,你将永远无法成功!(除非是一个小东西,没有二层以上的目录结构)

你还得去在ueditor.config.js或者页面中对window.UEDITOR_HOME_URL 设置为新的路径。比较麻烦的一点是上传图片,在imageUp.jsp中需要进行修改

 //加载配置文件
Properties pro = new Properties();
String propertiesPath = request.getRealPath("/jsp/config.properties");//报错
request.getRealPath("editor/jsp/config.properties");
Properties properties = new Properties();

在ueditor.config.js中对路径进行具体的设置和各种属性的设置,我能理解,但是居然需要对自带的页面进修改,着实无法理解!

API要稍微靠谱一点,但也容易让人产生误解.对于getAllHtml()方法,文档给出的解释是"取得完整的html代码,可以直接显示成完整的html文档",用之,编辑了大概千字不到的文本还不包括其它大文件,插入数据库就报长度错误了.然后就跟这方法各种死磕啊…………

我的理解是getAllHtml()这个方法能够取得包括整个编辑器和实际编辑内容的HTML格式内容,实际上,哪怕编辑器内没有任何东西,提交到后台的内容长度大概也在五万左右。然后想各种方法去过滤掉这部分,甚至想过用字符串截取…………那阵子脑袋已经乱了,后来出去抽了支烟,透了透气,一想,不对啊,肯定有别的方法。这当然是我的错了,但是,我觉得API文档也有不尽人意之处.

对于百度编辑器获取编辑内容,如果是在后台获取,只需使用request和name属性即可;如果是在前端,则需使用UE的getContent().对于后一点,我有用baidu和google在网上搜了巨多的资料和博文,我发现其中都没有明确讲到这一点,文档倒是讲了,可是不清不楚有岐义,所以这也不能全怪我吧?

PS:

在使用UEditor的时候由于各种原因吧,出现了许多问题,我坚持认为编辑器本身是有些值得商榷的地方,当然我个人也有问题!我没想到引来许多园友的评论,甚至引来UEditor的作者。甚至上了首页24小时评论和阅读排行榜,我感到惶恐,这只是一个吐槽贴,并没有提出建设性的意见和建议,也不是严格意义上的技术讨论。我做检讨,也请大家适可而止。

我不是专业搞前端的,这也毕竟只是我一家之言,平心而论,确实,作为一个开源项目也不可能照顾到每一个人。如果有对UEditor的作者,UEditor爱好者及拥趸造成困扰,我表示非常抱歉!

  

ueditor:原谅我这一生不羁放纵爱独特的更多相关文章

  1. 【C++对象模型】构造函数语意学之二 拷贝构造函数

    关于默认拷贝构造函数,有一点和默认构造函数类似,就是编译器只有在[需要的时候]才去合成默认的拷贝构造函数. 在什么时候才是[需要的时候]呢? 也就是类不展现[bitwise copy semantic ...

  2. 虎说:bootstrap源码解读(重置模块)

    ------<!--action-->------ 开场show:前不生“不犹豫”,后半生“不后悔”.今天又逃课,我不后悔 素材:推特公司的前端框架bootstrap(下称bt),解读源码 ...

  3. 用javascript和html5做一个音乐播放器,附带源码

    效果图: 实现的功能 1.首页 2.底部播放控件 3.播放页面 4.播放列表 5.排行榜 6.音乐搜索 输入搜索关键词,点击放大镜图标 7.侧边栏 目录结构 开发心得与总结 1.轮播图 首先感谢作者S ...

  4. JS和H5做一个音乐播放器,附带源码

    http://mp.weixin.qq.com/s/KpXT9X46AMlUVXQvpHuXGQ 效果图: 实现的功能 1.首页 2.底部播放控件 3.播放页面 4.播放列表 5.排行榜 6.音乐搜索 ...

  5. it喜爱的歌词

    1.曼丽 我们的过去我们的情义怎么能忘记  #曼丽你怎么这样忍心静静的就离去 #我很伤心从今以后不能够见到你 #只有留下你往日的情景使我常回忆 #一样的青山一样的绿水只有我和你 #曼丽可记得我们时常快 ...

  6. Eclipse 变量点击高亮显示以及自己定义高亮显示颜色

    1.方法一:alt+shift+o 打开/关闭,该功能 2.方法二:windows-> preferences->java->Editor->Mark Occurences ( ...

  7. python_0基础开始_day03

    第三节 一.整形和布尔值的转换 int整型 python3: 全部都是整型 python2: 整型,长整型long 十进制转换二进制 # 将十进制的168转换为二进制 ​#得出结果 将十进制的168转 ...

  8. Python_基础数据类型

    一,首先介绍一下变量 1. 变量是什么 在Python中,变量的概念基本上和初中代数的方程变量是一致的. 2. 变量命名规则 由数字.字母.下划线组成 不能以数字开头 要具有描述性 要区分大小写 禁止 ...

  9. 我的2013 Q.E.D

    "旧历的年底毕竟最像年底,村镇上不必说,就在天空中也显出将到新年的气象来.灰白色的沉重的晚云中间时时发出闪光,接着一声钝响,是送灶的爆竹:近处燃放的可就更强烈了,震耳的大音还没有息,空气里已 ...

随机推荐

  1. JavaScript的匿名函数和模块化的使用方法

    对于开发人员来说,很多时候我们都会涉及到JavaScript的使用,而在使用过程中,最令人沮丧的就是变量没有相应的使用范围. 在开发中,对于任何变量.数组.函数.对象等,只要不在函数的内部,都会被默认 ...

  2. LoadCursor 函数

    从可执行文件中载入指定的光标资源,加载到指定的应用实例中 ? 1 2 3 4 5 HCURSOR WINAPI LoadCursor(    _In_opt_ HINSTANCE hInstance, ...

  3. Silverlight中本地化的实现(语言切换)

    对于本地化这个功能我个人一直觉得在需求阶段就要确定该项目需不需要实行本地化,这样后面就可以减轻许多工作量,Sl中对本地化功能的支持与ASP.NET 中一样,主要使用CultureInfo类来完成的. ...

  4. BF算法和KMP算法(javascript版本)

    var str="abcbababcbababcbababcabcbaba";//主串 var ts="bcabcbaba";//子串 function BF( ...

  5. LevelDB源码之四LOG文件

    “LOG文件在LevelDb中的主要作用是系统故障恢复时,能够保证不会丢失数据.因为在将记录写入内存的Memtable之前,会先写入Log文件,这样即使系统发生故障,Memtable中的数据没有来得及 ...

  6. 定时重启Apache与MySQL方法

    可以定时重启apache服务器等.让网站运行的效果更快. 采用at命令添加计划任务. 有关使用语法可以到window->“开始”->运行“cmd”->执行命令“at /”,这样界面中 ...

  7. C++求最小公倍数

    题目内容:求两个正整数的最小公倍数. 输入描述:输入数据含有不多于50对的数据,每对数据由两个正整数(0<n1,n2<100000)组成. 输出描述:对于每组数据n1和n2,计算最小公倍数 ...

  8. 常用icon以及color颜色RGB值和对应颜色效果图

    Android谷歌官方扁平化设计常用icon集合   Android谷歌官方扁平化设计color颜色RGB值和对应颜色效果图.

  9. 老外写的在桌面添加快捷方式(DELPHI XE5 ANDROID)

    UsesAndroidapi.JNI.GraphicsContentViewText, FMX.Helpers.Android,Androidapi.JNI.JavaTypes, FMX.Platfo ...

  10. 利用HttpWebRequest访问WebApi

    WebApi现在越来越流行,下面给出利用HttpWebRequest访问WebApi的工具方法: 1.利用基准URL和参数字典生成完整URL /// <summary> /// 生成URL ...