我们必须在产品中添加基本的HTML编辑器。由于我们目前仅支持IE(大多数客户仍在IE 6上),我被告知使用Internet Explorer内置的XHTML编辑功能 - 例如<div contentEditable="true">
,如“Editing a Web Page”所述。
分开,不在其他浏览器中工作。 (管理层并不认为这是一个问题。我们的客户会忍受我们的软件只能与IE合作。我们的软件只在IE中工作,我们从来没有丢失任何资金;大多数客户只会让他们的员工目前使用IE6 )
我们可能会通过contentEditable获得哪些其他问题?
更新
我用“contentEditable”编写的HTML编辑器很难获得可靠性,很多problems。如果我不得不再次这样做,我会将非常努力推送到众多开源解决方案之一(例如TinyMCE)或购买支持的HTML编辑器。
毫无疑问,如果有足够的时间,一个非常熟练的jscript程序员可以让“contentEditable”工作得很好。只是网络上的所有示例看起来都很简单,直到您测试常用操作,例如从单词执行剪切/粘贴并尝试编辑生成的HTML。 (只是客户会做的事情)
(只需在stackoverflow上搜索“contentEditable”以获得其他人遇到的问题的理想选择)
答案 0 :(得分:11)
contentEditable属性适用于Safari,Firefox 3和Opera 9.
由于操作无疑是通过选择进行的,因此您最大的问题是让选择/范围在浏览器中运行(see here)。
浏览器中还有许多little bugs可能会或可能不会咬你。这些包括不兼容的区分大小写,不兼容的再次关闭它的方法(removeAttribute与setting设置为false)。
尽管存在这些缺陷,我发现它的效果相当不错。
答案 1 :(得分:6)
答案 2 :(得分:6)
HTML 5包含contenteditable属性,所以看起来好像它将在IE中存在很长时间。
刚收到IE团队成员的电子邮件
虽然基本上不可能 评论未来的高度 可信度,这是公平的说法 我不知道有任何计划 删除contentEditable,如果是的话 删除,它会打破很多 位点。
答案 3 :(得分:2)
快速谷歌搜索在contentEditable的一些(虽然是次要的)问题上产生blog post。
答案 4 :(得分:1)
contentEditable适用于Firefox 3。 我不知道contentEditable有什么问题。
答案 5 :(得分:1)
如果没有对添加的HTML内容进行验证,我会确保检查您收到的内容,因为在IE中插入XSS攻击非常容易。