微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何禁用wysihtml5 HTML清理编辑器?

在编辑器模式下如何禁用 HTML清理?我需要允许css格式和代码中的内联HTML.这个想法是在粘贴代码并输入编辑器进行编辑时,禁用解析器和HTML清理操作.谢谢.

解决方法

其实这就是解析器规则.

在实例化编辑器对象之前,您可以将自定义规则附加到所包含的var wysihtml5ParserRules中,或者只是创建自己的规则对象并给出编辑器的构造函数.

例如,为了允许h1和h3标签除了分布式简单示例规则中允许的标签之外,您需要设置如下:

<form>
    <div id="toolbar" style="display: none;">
      <a data-wysihtml5-command="bold" title="CTRL+B">bold</a> |
      <a data-wysihtml5-command="italic" title="CTRL+I">italic</a>
      <a data-wysihtml5-action="change_view">switch to html view</a>
    </div>
    <textarea id="textarea" placeholder="Enter text ..."></textarea>
    <br><input type="reset" value="Reset form!">
  </form>

  <!-- The distributed parser rules -->
  <script src="../parser_rules/simple.js"></script>
  <script src="../dist/wysihtml5-0.4.0pre.min.js"></script>
  <script>
    // attach some custom rules
    wysihtml5ParserRules.tags.h1 = {remove: 0};
    wysihtml5ParserRules.tags.h3 = {remove: 0};

    var editor = new wysihtml5.Editor("textarea",{
      toolbar:        "toolbar",parserRules:    wysihtml5ParserRules,useLineBreaks:  false
    });
  </script>

现在,当您输入/粘贴< title> test< / title>在编辑器中,当您处于编辑器模式时,然后切换到html视图,您将获得& lt; title& gt; test& lt; / title& gt.当您切换回编辑器视图时,您将获得< title> test< / title>再次.

这是一般的部分.

现在,在你的情况下,我不知道使用121个自定义解析器规则(要处理的HTML标签数量)是最好的办法,或者如果不是更好地花时间挖掘源代码找到一个更具性能解决方案(告诉一个解析器实际上只是返回输入字符串,没错,是吗?)此外,你说你也想允许CSS.所以你的自定义解析器规则甚至会扩展.

无论如何,作为起点,请随时使用我的自定义解析器规则集:https://github.com/eyecatchup/wysihtml5/blob/master/parser_rules/allow-all-html5.js.

原文地址:https://www.jb51.cc/html/224812.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐