2 回答
如果它可能对某人有帮助:
我想达到同样的效果,我最终在保存之前对内容进行了预处理。在 Python 中替换标签的示例:
content.replace('<b>', '<strong>').replace.('</b>', '</strong>')
您可以对您可能想要替换的任何其他标签或子字符串使用相同的技术。
这无法完成,因为标记不取决于 hallo.js 或任何其他富文本编辑器。它们只是触发插入标记,但插入是由浏览器完成的。你会从不同的浏览器得到略有不同的结果。只有在最后更改标记才能解决问题。
编辑指向评论问题的文档:问题是这是浏览器的行为,因为 IE 发明了设计模式而不是标准。whatwg 将它写在 HTML5 的标准中。要获取有关该主题本身的更多信息,请阅读
http://www.quirksmode.org/dom/execCommand.html
http://dev.opera.com/articles/view/rich-html-editing-in-the-browser-第 1 部分/
http://www.thissuchiknow.co.uk/?p=64
http://www.whatwg.org/specs/web-apps/2007-10-26/multipage/section-contenteditable.html
http ://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html
http://www.w3.org/wiki/Web_Editing_APIs
http://annevankesteren.nl/2005/07/contenteditable
http://www.sitepoint.com/the-tragic-comedy-that-is-rich-text-editing-on-the-web/