您好,登錄后才能下訂單哦!
昨天為一個客戶的項目修改后臺富編輯器在上傳圖片后去掉自動添加高寬度的功能。這個客戶所用的后臺系統是 PHPCMS ,這個系統所使用的富文本編輯器是知名的 CKEditor,這個編輯器在上傳圖片后會自動添加高寬度的 style 屬性。如下:
<img alt="" src="/uploadfile/2017/0608/20170608015605433.jpg" />
那么如何去掉【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');
}
將以上兩個地方的代碼注釋也好刪除也罷都可以,任你選。最后測試圖片上傳就能發現問題解決了。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。