CKEditor禁用自动编辑HTML代码 [英] CKEditor disable auto-editing HTML code

查看:92
本文介绍了CKEditor禁用自动编辑HTML代码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要在CKEditor之一中禁用自动编辑代码.如果我将这段代码作为HTML:

<div class="kontaktJeden">
                <div class="obr">
                    <img src="images/insol.png" alt="">
                </div>
                <div class="text">
                    <table>
                        <tr><td><span class="meno"><strong>Text.</strong></span></td></tr>
                        <tr><td><span class="text">Text</span></td></tr>
                        <tr><td><span class="ico"><img src="images/ico.png" alt="">Text</span></td></tr>
                        <tr><td><span class="dic"><img src="images/dic.png" alt="">Text</span></td></tr>
                <!--         <tr><td><span class="mob"><img src="images/phone.png" alt="">Text</span></td></tr> -->
                        <tr><td><span class="mail"><img src="images/mail.png" alt="">Text</span></td></tr>
                        <!-- <tr><td><a href=""><img src="images/fb.png" alt=""></a><a href=""><img src="images/yt.png" alt=""></a></td></tr> -->
                    </table>
                </div>

CKEditor会将其更改为:

<table>
    <tbody>
        <tr>
            <td><strong>Text.</strong></td>
        </tr>
        <tr>
            <td>Text</td>
        </tr>
        <tr>
            <td><img alt="" src="images/ico.png" />Text</td>
        </tr>
        <tr>
            <td><img alt="" src="images/dic.png" />Text</td>
        </tr>
        <!--         <tr><td><span class="mob"><img src="images/phone.png" alt="">Text</span></td></tr> -->
        <tr>
            <td><img alt="" src="images/mail.png" />Text</td>
        </tr>
        <!-- <tr><td><a href=""><img src="images/fb.png" alt=""></a><a href=""><img src="images/yt.png" alt=""></a></td></tr> -->
    </tbody>
</table>

自动.如何禁用它?

谢谢您的回答.

解决方案

您无法将其关闭. CKEditor重新格式化数据的原因有很多:

  1. 它需要解析它以解决问题,因为它在编辑时需要具有有效的来源.
  2. 它需要处理您的数据,因为您的数据需要进行修改以便在contenteditable中进行编辑.
  3. 它通过浏览器的DOM传递您的数据,因此格式丢失,因为DOM不保留它.

从发布的来源来看,您只能保留您的课程和divs(如果这是您的问题).由于不允许它们,它们被CKEditor剥离.阅读高级内容过滤器,您可以使用config.extraAllowedContent扩展这些设置.

I need in one of my CKEditors to disable autoediting code. If I put this code as HTML:

<div class="kontaktJeden">
                <div class="obr">
                    <img src="images/insol.png" alt="">
                </div>
                <div class="text">
                    <table>
                        <tr><td><span class="meno"><strong>Text.</strong></span></td></tr>
                        <tr><td><span class="text">Text</span></td></tr>
                        <tr><td><span class="ico"><img src="images/ico.png" alt="">Text</span></td></tr>
                        <tr><td><span class="dic"><img src="images/dic.png" alt="">Text</span></td></tr>
                <!--         <tr><td><span class="mob"><img src="images/phone.png" alt="">Text</span></td></tr> -->
                        <tr><td><span class="mail"><img src="images/mail.png" alt="">Text</span></td></tr>
                        <!-- <tr><td><a href=""><img src="images/fb.png" alt=""></a><a href=""><img src="images/yt.png" alt=""></a></td></tr> -->
                    </table>
                </div>

CKEditor will change it to:

<table>
    <tbody>
        <tr>
            <td><strong>Text.</strong></td>
        </tr>
        <tr>
            <td>Text</td>
        </tr>
        <tr>
            <td><img alt="" src="images/ico.png" />Text</td>
        </tr>
        <tr>
            <td><img alt="" src="images/dic.png" />Text</td>
        </tr>
        <!--         <tr><td><span class="mob"><img src="images/phone.png" alt="">Text</span></td></tr> -->
        <tr>
            <td><img alt="" src="images/mail.png" />Text</td>
        </tr>
        <!-- <tr><td><a href=""><img src="images/fb.png" alt=""></a><a href=""><img src="images/yt.png" alt=""></a></td></tr> -->
    </tbody>
</table>

automatically. How can I disable it?

Thanks for any answer.

解决方案

You cannot switch this off. There are reasons why CKEditor reformats your data:

  1. It needs to parse it to fix issues, because it needs to have valid source while editing.
  2. It needs to process your data, because your data needs to be adapted for editing in contenteditable.
  3. It passes your data through browser's DOM, so formatting is lost, because DOM does not keep it.

From the source you posted, you only can keep your classes and divs (if that was your problem). They are stripped by CKEditor because they are not allowed. Read about the Advanced Content Filter which settings you can extend using config.extraAllowedContent.

这篇关于CKEditor禁用自动编辑HTML代码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆