53

除了新的 Google Docs,我见过的所有其他 WYSIWYG 基于 Web 的富文本编辑器(ckeditor、tinymce、旧的 Google Docs)都是基于 contenteditable 或 designMode。我个人讨厌使用这些编辑器。在整个体验变成令人沮丧的练习之前,不需要太多的格式化或复制/粘贴。返回突然开始变得双倍行距,通过从其他 HTML 源粘贴引入的意外格式,撤消/重做完全损坏,格式变得难以控制,等等。

我相信这是 Google Docs 引入了自己的更受限制的非 HTML 格式引擎的原因之一。有没有提供类似功能的开源库?提前致谢。

4

3 回答 3

20

您可以从Ace 编辑器(以前的 Bespin 和 Skywriter)开始。它针对代码编辑,因此缺少格式和其他功能,但您可能会发现一个有用的功能核心,可以作为富文本编辑器的基础。

在行动:http ://ajaxorg.github.com/ace/build/editor.html

代码:https ://github.com/ajaxorg/ace

更新: 正如@theazureshadow 指出的那样,当前的编辑器并没有canvas像我最初报道的那样使用。Bespincanvas在与使用 DOM 的 Ace 合并之前使用。但是,在引擎盖下短暂地窥视一下,他们似乎没有使用contentEditableor designMode。(有一个<textarea />跟随光标的跨度和 div 以显示文本 - 我认为是一堆自定义 JS 将它们连接在一起。)

来自 ace.ajax.org > 历史:

Bespin 最初是 Mozilla Labs 的一部分,基于 <canvas>标签,而 Ace 是 Cloud9 IDE 的编辑器组件,使用 DOM 进行渲染。

于 2011-02-23T02:01:24.140 回答
2

你是对的:它更好。

是否有一个开源库提供[一个不使用浏览器处理可编辑文本的文档编辑器,而是使用自定义编辑表面和布局引擎,完全在 JavaScript 中]。

疑。

首先,编辑器被称为“Kix”。它不是非 HTML,但它不使用 contentEditable,因为正如您所提到的,它对他们正在做的事情很糟糕。它所做的事情是棘手和笨重的,我相信他们需要付出很大的努力来创造它。

也就是说,Google 为什么要开源 Kix?它破坏了他们成为您的文档中心的努力,这意味着他们必须做很多额外的工作才能将 Kix 与 Google Docs 的其余部分区分开来,并且不会使其难以集成。好处?不多,看起来似乎由 Google 赞助的开源项目不太可能以开发人员参与的形式得到支持来改进它。

至于有人创建一个库来做这件事,我怀疑它会在开源中发生。通常,具有重大意义的开源项目是由大学或公司赞助的,由于上述原因,在这种情况下不太可能。话又说回来,如果开发人员对它有兴趣,那就不知道它会去哪里……</p>

于 2011-01-07T04:44:22.263 回答
0

HTE,不幸的是它很慢并且错过了很多基本的选择功能。

于 2012-08-06T14:44:37.843 回答