網站後台編輯頁面,無法上傳文件和圖片,點擊編輯器的按鈕沒反應,IE8顯示JS錯誤,缺少對象,editor.js,原因是eWebEditor的浏覽器兼容的問題,在IE6下(xià)面沒有問題。
editor.js 有問題代碼是:
if (element.YUSERONCLICK) {
eval(element.YUSERONCLICK + “anonymous()”);
}
原因是ie8屏蔽了anonymous方法所以要改成onclick方法。網上的解決方法如下(xià):(加個判斷浏覽器的語句)
if(navigator.appVersion.match(/MSIE (7|8)\./i)!=null){
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + “onclick(event)”);
}else{
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + “anonymous()”);
}
經測試,IE8和ie6下(xià)面是沒問題的。但是在IE7下(xià)有問題。navigator.appVersion返回的字符串在各種IE的情況下(xià)并不與實際情況一(yī)緻,比如在同時安裝了IE8和以IE内核的浏覽器(比如搜狗浏覽器)的情況下(xià),并不是返回MSIE 8 而是MSIE 7。因此網上這種解決辦法是并不總是有效的。
以下(xià)是可行的解決辦法:
try{
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");
}
catch(e){
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "onclick(event)");
}
此種方法在各種IE下(xià)都是有效的。(ewebeditor好像隻支持IE)。