網(wǎng)站后臺編輯器插入圖片按鈕在ie8下點擊不起作用的解決方法
日期 2011-09-08 / 人氣 3175 / 欄目: 新聞動態(tài) 網(wǎng)站建設(shè)學堂
隨著windows操作系統(tǒng)和IE瀏覽器版本的不斷推出,很多客戶都漸漸放棄了IE6,IE7,使用上了IE8瀏覽器,但是突然發(fā)現(xiàn)自己網(wǎng)站后臺里面的eWebEditor文本編輯器的插入圖片等等按鈕失效了,鼠標點擊后什么反應都沒有,IE瀏覽器左下角顯示一個黃色的感嘆號提示錯誤,就以為是網(wǎng)站空間、服務(wù)器中毒了呢,一時間紛紛都來找我們詢問......經(jīng)我們技術(shù)員檢查,結(jié)果原來是eWebEditor文本編輯器對IE8瀏覽器的兼容性導致的腳本錯誤,并不是什么“網(wǎng)站空間、服務(wù)器中毒、出問題了”呢! 現(xiàn)就將解決方法公布給大家,方便大家修正自己網(wǎng)站的代碼以使文本編輯器在各種瀏覽器下都能兼容、正常使用!
解決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】經(jīng)測試在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()");
}
經(jīng)測試IE6、IE7、IE8、遨游、360瀏覽器下均可正常使用!另外如果上面的方法都不行的話,不妨試試以下的構(gòu)造方法:
try{
if (element.YUSERONCLICK) eval_r(element.YUSERONCLICK + "anonymous()");
}
catch(e){
if (element.YUSERONCLICK) eval_r(element.YUSERONCLICK + "onclick(event)");
}
IE8不支持eWebEditor在線文本編輯器的終級解決方法:
如果你發(fā)現(xiàn)以上代碼都不行!怎么回事呢? 那是因為你用的是升級版的ie8,那樣用代碼讀取出來的IE版本號其實還是升級前的版本號,那版本好讀取的就是錯誤的,用以上代碼當然就是不行的了,這時候你最好是重新下載安裝個最終發(fā)布版的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 !
轉(zhuǎn)載整理本文請注明出處【通聯(lián)臺州網(wǎng)站建設(shè)中心】
標簽: