成都网站建设设计

将想法与焦点和您一起共享

CKEditor去掉图片自动添加高宽度-创新互联

昨天为一个客户的项目修改后台富编辑器在上传图片后去掉自动添加高宽度的功能。这个客户所用的后台系统是 PHPCMS ,这个系统所使用的富文本编辑器是知名的 CKEditor,这个编辑器在上传图片后会自动添加高宽度的 style 属性。如下:

创新互联建站是一家专注于成都网站设计、成都做网站与策划设计,昌邑网站建设哪家好?创新互联建站做网站,专注于网站建设10余年,网设计领域的专业建站公司;建站业务涵盖:昌邑等地区。昌邑做网站价格咨询:18980820575

那么如何去掉【style=”width: 580px; height: 295px;“】这个属性,于是呼在【度娘】搜索了多次没有找到相关的资料,于是呼就自己动手去找解决方法了,现将这个解决方法记录下来。

PHPCMS 所使用的 CKEditor 的配置文件 config.js 中没有找到有关这项的配置设置的方法说明及参数,这也许和它使用的版本有关,也或者是 PHPCMS 自家将这项的设置给去除,再怎么猜测也没用啊。于是呼想到直接通过修改 plugins 来解决这个问题。

按照这个线索继续查找,找到了处理图片的地方是

你的 PHPCMS 路径\statics\js\ckeditor\plugins\image\dialogs\image.js

这个打开后是压缩版的 JS,可以用格式化 JS 将其中的代码清楚的显示出来后就可以找设置 style 的几个点。一共找到 2 处有关它的设置分别是:

1、设置宽度的地方

if (B == d) {
    if (E) C.setStyle('width', CKEDITOR.tools.cssLength(E));
    else C.removeStyle('width'); ! D && C.removeAttribute('width');
} else if (B == f) {
    var F = E.match(h);
    if (!F) {
        var G = this.getDialog().originalElement;
        if (G.getCustomData('isReady') == 'true') C.setStyle('width', G.$.width + 'px');
    } else C.setStyle('width', CKEDITOR.tools.cssLength(E));
} else if (B == g) {
    C.removeAttribute('width');
    C.removeStyle('width');
}

2、设置高度的地方

if (B == d) {
    if (E) C.setStyle('height', CKEDITOR.tools.cssLength(E));
    else C.removeStyle('height'); ! D && C.removeAttribute('height');
} else if (B == f) {
    var F = E.match(h);
    if (!F) {
        var G = this.getDialog().originalElement;
        if (G.getCustomData('isReady') == 'true') C.setStyle('height', G.$.height + 'px');
    } else C.setStyle('height', CKEDITOR.tools.cssLength(E));
} else if (B == g) {
    C.removeAttribute('height');
    C.removeStyle('height');
}

将以上两个地方的代码注释也好删除也罢都可以,任你选。最后测试图片上传就能发现问题解决了。

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文名称:CKEditor去掉图片自动添加高宽度-创新互联
文章转载:http://chengdu.cdxwcx.cn/article/dhjheo.html