使用ckeditor编辑内容的时候,默认生成的样式格式都是style=""这样的格式,怎么改变设置,让他不要生成这样的样式

larry.xu 发布于 2012/03/22 11:30
阅读 4K+
收藏 1

使用ckeditor编辑内容的时候,默认生成的样式格式都是style=""这样的格式,怎么改变设置,让他不要生成这样的样式

现实想让他生成

比如默认是<img src="" style="widht:100px; height:100px;"/>

现在想怎么设置下,能让我在编辑设置这个图片大小的时候,ckeditor自动生成的格式为

<img src="" widht="100" height="100"/>

加载中
1
garryyao
garryyao

楼主你好,使用CKEditor提供的HTML过滤器接口可解决此类问题,具体方法如下(引用此处):

CKEDITOR.on('instanceReady', function (ev) {
ev.editor.dataProcessor.htmlFilter.addRules(
    {
        elements:
        {
            $: function (element) {
                // Output dimensions of images as width and height
                if (element.name == 'img') {
                    var style = element.attributes.style;

                    if (style) {
                        // Get the width from the style.
                        var match = /(?:^|\s)width\s*:\s*(\d+)px/i.exec(style),
                            width = match && match[1];

                        // Get the height from the style.
                        match = /(?:^|\s)height\s*:\s*(\d+)px/i.exec(style);
                        var height = match && match[1];

                        if (width) {
                            element.attributes.style = element.attributes.style.replace(/(?:^|\s)width\s*:\s*(\d+)px;?/i, '');
                            element.attributes.width = width;
                        }

                        if (height) {
                            element.attributes.style = element.attributes.style.replace(/(?:^|\s)height\s*:\s*(\d+)px;?/i, '');
                            element.attributes.height = height;
                        }
                    }
                }



                if (!element.attributes.style)
                    delete element.attributes.style;

                return element;
            }
        }
    });

 

0
红薯
红薯
这个还真没辙的,几个编辑器都是如此
0
l
larry.xu

谁来帮帮我啊!求救啊!

0
蛮大人
蛮大人

吃饱撑的。

难得红薯还回答一下。

真要撑的不行了:自己读读生成这些内容的源码,自己改改吧。

0
R
Regen_HO
确实是这些问题
返回顶部
顶部