【问题标题】:How do i customize hallo.js to use <strong> instead of <b>?如何自定义 hallo.js 以使用 <strong> 而不是 <b>?
【发布时间】:2013-01-11 07:36:58
【问题描述】:

这个问题几乎说明了一切。我使用hallo.js,它似乎使用&lt;b&gt;&lt;i&gt; 表示粗体和斜体。我的一些标记目前需要strongem 才能应用某些CSS 规则。我也更喜欢strongem,而不是bi,所以我想配置这个。

似乎没有任何关于此的文档 - 可以吗?

【问题讨论】:

    标签: contenteditable hallo-js


    【解决方案1】:

    如果它可能对某人有帮助:

    我想达到同样的效果,我最终在保存之前对内容进行了预处理。 在 Python 中替换标签的示例:

    content.replace('<b>', '<strong>').replace.('</b>', '</strong>')    
    

    您可以对可能要替换的任何其他标签或子字符串使用相同的技术。

    【讨论】:

      【解决方案2】:

      这无法完成,因为标记不符合 hallo.js 或任何其他富文本编辑器。它们只是触发插入标记,但插入是由浏览器完成的。你会从不同的浏览器得到略有不同的结果。只有在最后更改标记才能解决问题。

      在评论问题上编辑指向文档: 问题是这是浏览器的行为,因为 IE 发明了设计模式而不是标准。 whatwg 将它写在 HTML5 的标准中。要获取有关该主题本身的更多信息,请阅读
      http://www.quirksmode.org/dom/execCommand.html
      http://dev.opera.com/articles/view/rich-html-editing-in-the-browser-part-1/
      http://www.thismuchiknow.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
      @987654327 @
      http://www.sitepoint.com/the-tragic-comedy-that-is-rich-text-editing-on-the-web/

      【讨论】:

      • 你能给我指出一些说明这一点的文档吗?我没有意识到实际的标记是浏览器的内部操作,我以为只有编辑功能。
      • 如果你自己操作 DOM 而不是依赖document.execCommand() 就可以做到。例如,CKEditor 就是这样做的。
      • @Tim Down:不,不能这样做,因为问题不在于编写自己的富文本编辑器,而是使用 hallo.js 并使用 execCommand。您说得对,对于那些直接操作 DOM 的人来说,提及“任何其他富文本编辑器”是不正确的。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多