新聞中心
昨天為一個客戶的項目修改后臺富編輯器在上傳圖片后去掉自動添加高寬度的功能。這個客戶所用的后臺系統(tǒng)是 PHPCMS ,這個系統(tǒng)所使用的富文本編輯器是知名的 CKEditor,這個編輯器在上傳圖片后會自動添加高寬度的 style 屬性。如下:
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供集賢網(wǎng)站建設、集賢做網(wǎng)站、集賢網(wǎng)站設計、集賢網(wǎng)站制作等企業(yè)網(wǎng)站建設、網(wǎng)頁設計與制作、集賢企業(yè)網(wǎng)站模板建站服務,10年集賢做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡服務。

那么如何去掉【style=”width: 580px; height: 295px;“】這個屬性,于是呼在【度娘】搜索了多次沒有找到相關的資料,于是呼就自己動手去找解決方法了,現(xiàn)將這個解決方法記錄下來。
PHPCMS 所使用的 CKEditor 的配置文件 config.js 中沒有找到有關這項的配置設置的方法說明及參數(shù),這也許和它使用的版本有關,也或者是 PHPCMS 自家將這項的設置給去除,再怎么猜測也沒用啊。于是呼想到直接通過修改 plugins 來解決這個問題。
按照這個線索繼續(xù)查找,找到了處理圖片的地方是
你的 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');
}
將以上兩個地方的代碼注釋也好刪除也罷都可以,任你選。最后測試圖片上傳就能發(fā)現(xiàn)問題解決了。
網(wǎng)站名稱:CKEditor去掉圖片自動添加高寬度
當前路徑:http://www.ef60e0e.cn/article/gesodp.html