从一开始,内容创建就一直是web的核心,<textarea>为几乎所有的web应用程序提供了一个本地的和基本的解决方案。但是在某些情况下,你可能需要向文本输入添加格式,这就是富文本编辑器的用武之地。虽然有许多其它解决方案可供选择,但是Quill提供了一些现代的方案供你选择。
一、API驱动设计
富文本编辑器是用来帮助人们编写文本的,然而令人惊讶的是,大多数富文本编辑器并不知道用户编写了什么文本。这些编辑器使用与web开发人员相同的角度来面向这些文本的内容:DOM。这造成了冲突和不匹配,因为DOM是由不平衡树中的节点组成的,而文本是由行、单词和字符组成的。
一般Web中不存在以字符为度量单位的DOM API,因为这个限制,大多数富文本编辑器很难处理字符基本的内容。
Quill是为编辑和字符并以文本为中心而设计的,例如要确定是否有什么内容是粗体的,Quill不需要遍历DOM来查找<b>或<strong>节点或一个字体权重样式的属性——只需调用getFormat(5,1)。它的事件API还以一种直观的JSON格式通知更改,不需要解析HTML或diff DOM树。
二、Quill自定义内容和格式
一个好的富文本编辑器的标志就是它支持多少种格式。这仍然是一个重要的度量,所以至少需要支持足够多的格式。
文本不再是写出来打印的,内容可以是实时的、交互式的,甚至是协作的。只有一些富文本编辑器甚至可以支持简单的媒体,如图像和视频,几乎没有方案可以嵌入第三方媒体或交互式图形。然而Web开发正在往更丰富、更具交互性的方向发展,支持内容创建的工具需要考虑这些用例。
Quill允许扩展和定制并提供DOM抽象,可以支持的格式和内容的上限是无限的,用户可以使用它来添加嵌入式幻灯片组、交互式检查列表和3D模型。
三、跨平台
跨平台支持对许多Javascript库都很重要,但是对于这些库的标准常常不同。功能不仅是跨平台的考虑因素,用户和开发人员的体验也很重要。如果在Windows上的Firefox中回车会保留粗体格式状态,那么在移动Safari上也会保留。
四、更容易使用
所有这些强大的功能都包含在一个易于使用的包中,Quill附带了非常优雅的默认设置,只需几行Javascript就可以立即使用
var quill = new Quill('#editor', {
modules: { toolbar: true },
theme: 'snow'
});
如果你的应用程序从不需要它,那么你就不必自定义Quill,只需享受开箱即用的丰富而一致的体验即可。
评论前必须登录!
注册