昨天為一個(gè)客戶(hù)的項(xiàng)目修改后臺(tái)富編輯器在上傳圖片后去掉自動(dòng)添加高寬度的功能。這個(gè)客戶(hù)所用的后臺(tái)系統(tǒng)是 PHPCMS ,這個(gè)系統(tǒng)所使用的富文本編輯器是知名的 CKEditor,這個(gè)編輯器在上傳圖片后會(huì)自動(dòng)添加高寬度的 style 屬性。如下:
創(chuàng)新互聯(lián)專(zhuān)業(yè)為企業(yè)提供集賢網(wǎng)站建設(shè)、集賢做網(wǎng)站、集賢網(wǎng)站設(shè)計(jì)、集賢網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、集賢企業(yè)網(wǎng)站模板建站服務(wù),10年集賢做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
那么如何去掉【style=”width: 580px; height: 295px;“】這個(gè)屬性,于是呼在【度娘】搜索了多次沒(méi)有找到相關(guān)的資料,于是呼就自己動(dòng)手去找解決方法了,現(xiàn)將這個(gè)解決方法記錄下來(lái)。
PHPCMS 所使用的 CKEditor 的配置文件 config.js 中沒(méi)有找到有關(guān)這項(xiàng)的配置設(shè)置的方法說(shuō)明及參數(shù),這也許和它使用的版本有關(guān),也或者是 PHPCMS 自家將這項(xiàng)的設(shè)置給去除,再怎么猜測(cè)也沒(méi)用啊。于是呼想到直接通過(guò)修改 plugins 來(lái)解決這個(gè)問(wèn)題。
按照這個(gè)線(xiàn)索繼續(xù)查找,找到了處理圖片的地方是
你的 PHPCMS 路徑\statics\js\ckeditor\plugins\image\dialogs\image.js
這個(gè)打開(kāi)后是壓縮版的 JS,可以用格式化 JS 將其中的代碼清楚的顯示出來(lái)后就可以找設(shè)置 style 的幾個(gè)點(diǎn)。一共找到 2 處有關(guān)它的設(shè)置分別是:
1、設(shè)置寬度的地方
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、設(shè)置高度的地方
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');
}
將以上兩個(gè)地方的代碼注釋也好刪除也罷都可以,任你選。最后測(cè)試圖片上傳就能發(fā)現(xiàn)問(wèn)題解決了。