论坛首页 Web前端技术论坛

KindEditor 下一步开发计划

浏览 12037 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-03-09   最后修改:2009-03-10
KindEditor是简单的在线HTML编辑器,支持目前流行的大部分浏览器,主要优势在于简单、快速、定制方便,非常适合博客、SNS日记、WEB邮箱等互联网网站。

3.1.1版本初始化时被GZIP压缩以后总大小为22KB,分别为1个JavaScript文件,2个CSS文件,2个gif图片,目前国内的ADSL宽带速度下基本上可以瞬间打开。



不足的地方是:
1. 每个浏览器生成的HTML不一致。
2. UNDO/REDO无法保存SELECTION。
3. 不支持快捷键。
4. 界面不够美观。
5. 程序特殊处理较多,可读性不好。

下一步开发重点为保持简单、快速的前提下,尽量生成标准XHTML,并自由地定制输出的XHTML,完全分离plugin和核心程序,简化CSS文件。

下面简单说明一下输出XHTML的原理。

目前大部分轻量级编辑器都靠浏览器提供的execCommand来完成大部分HTML生成操作,execCommand每个浏览器生成的代码不太一样,导致生成不一致、不标准的代码。TinyMCE、FCKeditor生成标准一致的XHTML,但随之而来的是程序体积变大,代码臃肿。

编辑时直接生成XHTML难度很大,因为几乎所有execCommand都要用JavaScript DOM来实现。一种不太好的方法是编辑期间仍然使用浏览器的execCommand,最后提交代码时用正则等方式把代码转换成XHTML,不过代码模式切换,在转换后的代码上进行操作等都会出现一系列的问题。

例如,有以下HTML代码
<span style="color:#ff0000;">文字颜色</span>


在IE下选中文字,用execCommand的forecolor修改文字颜色,代码会变成这样。
<span style="color:#ff0000;"><font color="#0021b0">文字颜色</font></span>


不管在用什么浏览器,理想的代码是
<span style="color:#0021b0;">文字颜色</span>


除此之外,还需要考虑各种效果(文字颜色、背景颜色、文字大小等)交叉使用,粘贴不规则有缺陷的HTML等情况。
  • 大小: 20.6 KB
   发表时间:2009-03-10  
前段时间倒是一时兴起写了个类似的东西,我把它定名为JAte。

用as3写的,只是后来停止了,一来fp对textarea的支持不理想,二来我不知道这东西继续下去究竟有没有前途……

前辈有兴趣指点下吗?
0 请登录后投票
   发表时间:2009-03-25  
国产web编辑器,试用了一下,感觉非常棒!支持!

楼主加油!
0 请登录后投票
   发表时间:2009-03-25  
龙博ajax现在需要一个准实时的语法色彩渲染器,不知道楼主和army有没有兴趣合作一下。
0 请登录后投票
   发表时间:2009-03-25  
taocong810 写道
龙博ajax现在需要一个准实时的语法色彩渲染器,不知道楼主和army有没有兴趣合作一下。


大概看了一下你的龙博ajax,技术很酷。不过具体应用在什么地方?

如果是基于WEB的JS可视化开发的话我觉得现在条件不成熟,性能还是最大的问题。
1 请登录后投票
   发表时间:2009-03-25  
taocong810 写道
龙博ajax现在需要一个准实时的语法色彩渲染器,不知道楼主和army有没有兴趣合作一下。

我想你的意思是类似ide的一个轻量级编辑器,输入代码实时高亮并提示纠错等功能。这个很难……我早就有过这打算了,但短时间内是搞不定的。
0 请登录后投票
   发表时间:2009-03-25  
Army 写道
taocong810 写道
龙博ajax现在需要一个准实时的语法<script type="text/javascript" src="http://www.iteye.com/javascripts/tinymce/themes/advanced/langs/zh.js"></script><script type="text/javascript" src="http://www.iteye.com/javascripts/tinymce/plugins/javaeye/langs/zh.js"></script>色彩渲染器,不知道楼主和army有没有兴趣合作一下。

我想你的意思是类似ide的一个轻量级编辑器,输入代码实时高亮并提示纠错等功能。这个很难……我早就有过这打算了,但短时间内是搞不定的。


实时高亮很难,先不说技术实现,性能是最大的问题。
0 请登录后投票
   发表时间:2009-03-25  
性能已经可以有另类的解决办法,比如说借助as3的效率。我在jssc4中主要就是使用as3来解析代码高亮,而js的功能则是在处理dom和传递结果上。相比之下,我感觉技术实现是弱项。
0 请登录后投票
   发表时间:2009-03-25  
问一下,你的jssc4配合AS后性能提高了多少?
实时加亮在可视化编辑器模式下每改变一个字母都得重新渲染,不知道用AS把性能能提高到什么样的程度。其实实时加亮很多桌面编辑器都能看到延迟,所以我觉得性能是最大的瓶颈。
技术实现的难点还是跨浏览器,连like gecko的webkit系浏览器也DOM处理表现和Firefox不一致,还有一个浏览器的不同版本也表现不同。不过我觉得这个多花时间应该都能解决。
0 请登录后投票
   发表时间:2009-03-26  
提升非常多,具体多少我也没测试过数据,感官上是相当的明显。而且时间的延迟大多数是下载swf文件以及js和as互相通信的时间,我记得在as3中遍历10w字符串也是几十ms内的事情。

至于实时加亮,每一个input事件都会触发重新渲染,细节是值得商讨的。
第一个就是类似google suggest,每改变一次后计时超过一定时间后重新渲染,防止连续快速输入;
第二个就是如何渲染了,不可能每改变一个字符都要整篇重新分析的,肯定要区分出哪里有改变,需要重新渲染,哪里无需变动。

这样的话就是很难了。
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics