TinyMCE还是HTML5的contentEditable属性?

3

我一直不太喜欢所见即所得编辑器,但在我开发的大多数应用程序中,它们是必要的,以便我们的客户可以编辑其内容。尝试了几个不同的编辑器后,我似乎最喜欢tinyMCE。虽然功能强大且似乎生成的HTML相当好,但它也存在问题。最近,我一直在考虑创建一个完全适合我的需求的自定义所见即所得编辑器,利用contentEditable属性。这个HTML5功能已经成熟了吗?我会遇到很多跨浏览器问题吗?它有什么限制?我想我的问题最终归结为:放弃第三方所见即所得编辑器并转向contentEditable区域是否值得?


为什么不尝试使用wysiwyM编辑器而不是wysiwyG?请访问www.wymeditor.org,如果适合您的需求,请告诉我们。 - Vladislav
2个回答

4

第三方所见即所得编辑器也会使用contenteditable属性。最大的问题在于它们确实会创建标签混乱,而在不同的用户代理中创建的相同文本将具有不同的HTML源。

个人建议您应该坚持使用tinyMCE或CKEdit。


我注意到在使用Cute Editor时,如果使用Safari或Chrome浏览器,文本中会出现许多"appleStyle"类的span标签。我猜我可能会面临同样的挑战。 - Mike

2

我觉得这要看你的需求。如果你需要复杂、庞大的东西,而且加载JavaScript的数量不会影响你,那么使用一些所见即所得的编辑器(WYSIWYG)。它们提供了很多可能性,但也存在一些问题(比如这个安全问题:http://www.devilscafe.in/2011/10/tinymce-ajaxfilemanager-remote-file.html)。

但如果你只需要简单的东西,可以使用 HTML5 的 contenteditable 属性和 execCommand 方法,例如:http://www.quackit.com/html/codes/contenteditable.cfm


如果您阅读了该安全问题,您会意识到它是在谈论文件管理器,而不是HTML编辑器部分。 - AlfonsoML
那不是我的观点。我想指出的是,在选择可能存在缺陷的开源软件和自己创建的非常简单的东西之间做出决策。抱歉表述不够清晰。 - Eduárd Moldován
你对自己的编程能力非常有信心,相信可以在其他人花费大量时间解决和避免问题。有很多所见即所得编辑器,有非常简单的,也有完全开发的。除非你是编程天才,否则最好选择一个现成的而不是尝试创建自己的编辑器。如果它没有你需要的所有功能,则可以为其创建补丁,但你不必重新发明轮子。 - AlfonsoML
1
我使用过像ckeditor这样的编辑器,毫无疑问,当你需要快速实现/使用某些功能时,它们非常棒。但对我来说这还不够。客户端速度、美观和安全性更加重要。如果这意味着我必须重新发明轮子,那就这样吧。我会得到一个完全定制化、只适合我的需求而不是别人的小应用程序。 - Eduárd Moldován

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接