首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

eWebEditor 常見問題解決全紀錄:IE8 相容、空內容導致 Tomcat 崩潰、二級目錄上傳失效

     編輯:Java 相關知識

eWebEditor (飛魚修改版) 實戰中遇到的三大棘手問題及解決方案,涵蓋瀏覽器相容、伺服器穩定性、部署路徑遷移。

問題一:IE8 下編輯器工具列按鈕無反應

原因:IE8 屏蔽了 `anonymous()` 方法呼叫方式。

修復:編輯 `include/editor.js`,針對 IE8 切換為 `onclick(event)` 呼叫:

if (navigator.appVersion.match(/MSIE (8)\./i) != null) {
  if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "onclick(event)");
} else {
  if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");
}

注意:IE7/IE6 無此問題,IE8 Beta 版 User-Agent 可能無法識別,需進一步特徵檢測。

問題二:提交空內容導致 Tomcat 進程意外退出

現象:編輯器提交空白內容後,Tomcat 直接關閉。

根因:`upload.jsp` 中存在 `System.exit(0)` 硬編碼:

if (sTemp.equals("")) {
  System.exit(0);  // 直接殺掉 JVM 進程!
}

修復:改為賦值空白字串:

if (sTemp.equals("")) {
  sTemp = " ";
}

前端 `getHTML()` 也可增加空內容防護:

if ((html.toLowerCase() == "<p>&nbsp;</p>") || (html.toLowerCase() == "<p></p>")) {
  html = ".";
}

問題三:編輯器部署在二級目錄導致圖片/檔案上傳失敗

場景:專案結構 `webapp/jpkc/eWebEditor/`

專案目錄結構

修復兩處路徑:

  1. upload.jsp - 檔案儲存相對路徑:
    String sUploadFilePath = "jpkc/eWebEditor/UploadFile/";
  2. eWebEditor.jsp - 實體目錄建立路徑:
    sStyleNameAdd = config.getServletContext().getRealPath("/") 
      + "jpkc/eWebEditor/" + sUploadFilePath 
      + year + "/" + month + "/" + day + "/";

已知缺陷與替代建議

缺陷影響
商業授權收費企業專案多不採用
不支援 Firefox/Opera跨瀏覽器相容性差,FCKeditor/CKEditor 更優

建議新專案優先評估 CKEditor、TinyMCE 等開源現代編輯器,僅維護舊系統時參考本文修復。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved