tre*_*der 5 html contenteditable
我有一个contentEditablediv,我需要允许用户编辑HTML。
我需要清理用户在该div中编写的HTML吗?
我的意思是,当我从该div检索HTML时,它已经被清除了。例如,如果我<>在div内写了类似的东西,然后将其取回,我会得到<>。
在这里测试:http : //jsfiddle.net/mByWT/
我的另一个问题是:此行为是否是标准行为,我是否可以在所有浏览器中依赖它?
编辑
我现在可以得出结论,这是一种通用模式:
element.innerHTML返回转义的HTML-转义<,>amd &但不加引号element.innerText并element.textContent返回原义HTML而不转义看到这个:http : //jsfiddle.net/2CmjG/
我认为你自己回答了:)。事实上innerHTML,contenteditable div 返回编码的 HTML 是一种通用模式。否则,键入<或>或 或其他 HTML 特殊实体将破坏此编辑器。
然而,我非常确定在某些边缘情况下,浏览器会产生不同的结果,并且在 IE 等上创建的数据在 Fx 上无效。但我从未观察到任何关键的事情。您也无法对 给出的数据进行编码innerHTML,因为这会非常棘手。