找回密碼
 註冊
搜索
查看: 56|回復: 0

[原創] 如何用CKEditor 4.25.1-tls , CSS 完成 圖片自動RWD(可適應式網站)

[複製鏈接]
發表於 昨天 22:37 | 顯示全部樓層 |閱讀模式
Push to Facebook
現在看到越來越多論壇裡的圖片都沒有設定width heigh

但是還是能自動RWD(可適應式網站)

目前後臺用的是CKEditor 4.25.1-tls

於是自己嘗試了一下

前台CSS的content加入
  1. max-width: 100% !important; /* 限制圖片最大寬度不超過外層容器 */
  2. height: auto !important;    /* 高度依比例自動縮放,避免圖片變形 */
複製代碼

後臺CKEditor 4.25.1-tls須改 config.js

JavaScript中加入
  1. // 監聽貼上事件,自動把 img 標籤內的 width 和 height 屬性或 style 拔掉
  2.         config.onPaste = function(evt) {
  3.                 let data = evt.data.dataValue;
  4.                 if (data) {
  5.                         // 移除 width="..." 和 height="..."
  6.                         data = data.replace(/<img[^>]*>/gi, function(match) {
  7.                                 return match.replace(/\s+(width|height)="\d+"/gi, '')
  8.                                             .replace(/width:\s*\d+px;?/gi, '')
  9.                                             .replace(/height:\s*\d+px;?/gi, '');
  10.                         });
  11.                         evt.data.dataValue = data;
  12.                 }
  13.         };
複製代碼
JavaScript最底下加入
  1. // 確保事件能綁定到編輯器實例上
  2. CKEDITOR.on('instanceReady', function(ev) {
  3.         ev.editor.on('paste', ev.editor.config.onPaste);
  4. });
複製代碼
完成如
  1. CKEDITOR.editorConfig = function( config ) {
  2.         // Define changes to default configuration here. For example:
  3.         // config.language = 'fr';
  4.         // config.uiColor = '#AADC6E';


  5.         // Remove some buttons provided by the standard plugins, which are
  6.         // not needed in the Standard(s) toolbar.
  7.         config.removeButtons = 'Underline,Subscript,Superscript';

  8.         // Set the most common block elements.
  9.         config.format_tags = 'p;h1;h2;h3;pre';

  10.         // Simplify the dialog windows.
  11.         config.removeDialogTabs = 'image:advanced;link:advanced';
  12.         baseurl = 'https://'+window.location.hostname;
  13.         config.filebrowserBrowseUrl = baseurl+'/includes/ckfinder/ckfinder.html';
  14.         config.filebrowserImageBrowseUrl = baseurl+'/includes/ckfinder/ckfinder.html?Type=Images';
  15.         config.filebrowserFlashBrowseUrl = baseurl+'/includes/ckfinder/ckfinder.html?Type=Flash';
  16.         config.filebrowserUploadUrl = baseurl+'/includes/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Files'; //可上傳一般檔案
  17.         config.filebrowserImageUploadUrl = baseurl+'/includes/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Images';//可上傳圖檔
  18.         config.filebrowserFlashUploadUrl = baseurl+'/includes/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Flash';//可上傳Flash檔案
  19.         
  20.         // ==========================================
  21.         // 新增以下設定:允許貼上不帶寬高的標籤,並在貼上時過濾寬高
  22.         // ==========================================
  23.         config.allowedContent = true;

  24.         // 監聽貼上事件,自動把 img 標籤內的 width 和 height 屬性或 style 拔掉
  25.         config.onPaste = function(evt) {
  26.                 let data = evt.data.dataValue;
  27.                 if (data) {
  28.                         // 移除 width="..." 和 height="..."
  29.                         data = data.replace(/<img[^>]*>/gi, function(match) {
  30.                                 return match.replace(/\s+(width|height)="\d+"/gi, '')
  31.                                             .replace(/width:\s*\d+px;?/gi, '')
  32.                                             .replace(/height:\s*\d+px;?/gi, '');
  33.                         });
  34.                         evt.data.dataValue = data;
  35.                 }
  36.         };

  37. };

  38. // 確保事件能綁定到編輯器實例上
  39. CKEDITOR.on('instanceReady', function(ev) {
  40.         ev.editor.on('paste', ev.editor.config.onPaste);
  41. });
複製代碼

完成

展示圖:

CKEditor CSS RWD

CKEditor CSS  RWD


展示網址:https://pipe.netyea.com/

文章出處:NetYea 網頁設計
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

Archiver|手機版|小黑屋|TShopping

GMT+8, 2026-6-18 02:04 , Processed in 0.022955 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回復 返回頂部 返回列表