如何禁用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.

相关文章

vue阻止冒泡事件 阻止点击事件的执行 &lt;div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些