我需要为我正在开发的项目构建一个所见即所得的编辑器并需要一些指导.我的一些主要困惑点如下:
iframe docs与contenteditable divs:我应该使用哪一个?为什么?我讨厌iframe,使用iframe有明显的优势吗?
跨浏览器样式:execCommand似乎在不同的浏览器中应用不同的样式.是否有任何技巧可以使这种跨浏览器兼容?我根本不应该使用execCommand而是应用我自己的样式吗?
将项添加到撤销链:如何运行我自己的脚本,如插入图像,并允许cntrl + z(撤消)删除它?是否存在一系列可以推送项目的撤销/重做项目?
保持文本选择:如何在进行操作时保持文本选择,例如选择字体样式,焦点将离开的位置以及删除我的选择. 兰吉? 谷歌关闭?是否还有值得关注的其他范围/选择库?
有关这些项目的任何提示或与构建富文本编辑器相关的任何其他内容将不胜感激!
为什么可编辑的html会移动到iFrame中?我分析了不同的编辑器(TinyMce,CKEditor等),并将可编辑内容移动到一个单独的iFrame中,它们放在原始文本上.
这是什么技术原因.我试验过contenteditable="true",这也是所有这些编辑的基础,并没有找到理由做到这一点.
如果我创建一个在iframe内部具有contenteditable true的div,如果你双击它就会变得不起作用.焦点仍然在iframe中,你可以看到光标,但是它不响应keydown
有谁知道我怎么能克服这个?
编辑:
我已经实现了一个dojo编辑器.如果您在ipad中打开此链接,您将看到上述问题.
我希望将文本粘贴到一个可信的div中,但作为textarea进行反应.
请注意,我想保留格式,因为我会将其粘贴到我的textarea中(来自word,excel ...).
所以.
1)在contenteditable div中粘贴文本
2)我从剪贴板中获取文本
3)我将我的值从剪贴板推送到我的textarea,(不知道怎么做?)
4)从我的textarea获取值并将其放在我的contenteditable div
任何建议?