經我們技術員檢查,結果原來是eWebEditor文本編輯器對IE8瀏覽器的兼容性導致的腳本錯誤,并不是什么“網站空間、服務器中毒、出問題了”呢! 現就將解決方法公布給大家,方便大家修正自己網站的代碼以使文本編輯器在各種瀏覽器下都能兼容、正常使用!
解決IE8不支持eWebEditor在線文本編輯器的方法如下:
【1】首先在eWebEditor文本編輯器根目錄下的Include目錄下找到editor.js文件(注意:不同的eWebEditor版本的editor.js文件所處目錄可能有所不同,有的可能在js目錄下)
【2】用記事本打開editor.js文件,找到如下代碼:
if (element.YUSERONCLICK) eval_r(element.YUSERONCLICK + 'anonymous()');
注意:不同版本的eWebEditor此段代碼可能有所不同,也可能是以下代碼:
復制代碼 代碼如下:
if (element.YUSERONCLICK) {
eval_r(element.YUSERONCLICK + 'anonymous()');
}
以上兩段代碼只是書寫格式不同而已,代碼、含義是一樣的!
【3】將上面的代碼替換為下面的代碼即可:
復制代碼 代碼如下:
if(navigator.appVersion.match(/8./i)=='8.')
{
if (element.YUSERONCLICK) eval_r(element.YUSERONCLICK + 'onclick(event)');
}
else
{
if (element.YUSERONCLICK) eval_r(element.YUSERONCLICK + 'anonymous()');
}
【4】經測試在IE6、IE7、IE8下均能正常使用了,但是在裝有IE8的機器上使用傲游瀏覽器卻還是不能正常使用,汗!那就再加一句判斷傲游瀏覽器的代碼吧:
復制代碼 代碼如下:
if(navigator.appVersion.match(/8./i)=='8.' || navigator.appVersion.match(/MAXTHON/i)=='MAXTHON')
{
if (element.YUSERONCLICK) eval_r(element.YUSERONCLICK + "onclick(event)");
}
else
{
if (element.YUSERONCLICK) eval_r(element.YUSERONCLICK + "anonymous()");
}
經測試IE6、IE7、IE8、遨游、360瀏覽器下均可正常使用!另外如果上面的方法都不行的話,不妨試試以下的構造方法:
復制代碼 代碼如下:
try{
if (element.YUSERONCLICK) eval_r(element.YUSERONCLICK + "anonymous()");
}
catch(e){
if (element.YUSERONCLICK) eval_r(element.YUSERONCLICK + "onclick(event)");
}
IE8不支持eWebEditor在線文本編輯器的終級解決方法:
如果你發現以上代碼都不行!怎么回事呢? 那是因為你用的是升級版的ie8,那樣用代碼讀取出來的IE版本號其實還是升級前的版本號,那版本好讀取的就是錯誤的,用以上代碼當然就是不行的了,這時候你最好是重新下載安裝個最終發布版的IE8就可以了,要么你只好用一下代碼來改:
復制代碼 代碼如下:
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()");
}
或
復制代碼 代碼如下:
try{
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");
}
catch(e){
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "onclick(event)");
}
但是以上修改方法會導致文本編輯器在正常的IE7瀏覽器下又是失效的!!! 所以說最好是(說服客戶)安裝一個最終版的IE8 !