2010-09-24
由于工作需要,所以前一陣子將IE升級(jí)到了8.0,結(jié)果今天發(fā)現(xiàn)出現(xiàn)一個(gè)問(wèn)題,eWebEditor的在線編輯器不好用了,仔細(xì)想想,肯定是IE8搞的鬼,因?yàn)槲以诰钟蚓W(wǎng)的其它機(jī)器也測(cè)試了下,都好用,知道原因后在網(wǎng)上一頓查找解決方法,后讓我找到了,是CSDN的一位高手寫(xiě)的一篇文章:
以下方法基本匯集全各種處理辦法了,部分辦法在有些機(jī)器上不可用,請(qǐng)選擇有效的辦法使用即可。方法一能夠兼容ie6、7、8.
下載:
Editor.rar
方法一:
今天把ie升級(jí)到8.0竟然出現(xiàn)點(diǎn)擊ewebeditor在線編輯器按鈕無(wú)法彈出編輯框的問(wèn)題,就是所有按鈕都失效了。
查看了一下網(wǎng)絡(luò)資料,測(cè)試了一下都不能用,好自己研究出一個(gè)可行的解決辦法,并測(cè)試成功了。
具體操作如下:
打開(kāi)editor.js
找到if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");
將其修改為:
if (element.YUSERONCLICK)
{
try
{
eval(element.YUSERONCLICK + "onclick(event)");
}
catch (e){
eval(element.YUSERONCLICK + "anonymous()");
}
}
再保存,然后就可以了。
升級(jí)成ie8.0后無(wú)法正常使用ewebeditor是因?yàn)閍nonymous()函數(shù)在ie8.0中不能使用,ie8.0中只能用
onclick(event),而其他8.0以下的只能用anonymous(),所以這里要使用javascript的try函數(shù),對(duì)客戶端ie用8.0代碼進(jìn)行試運(yùn)行。如果出錯(cuò),再嘗試8.0以下的代碼進(jìn)行處理。
方法二:
由于IE升級(jí),造成網(wǎng)站后臺(tái)編輯器(eWebEditor)的按鈕不能使用,如:插入圖片等功能。有些第三方瀏覽器也不行,因?yàn)樗鼈兪褂昧薎E內(nèi)核,如遨游。那么如何解決呢,搜索了網(wǎng)上資料,想必肯定不可能只有我一個(gè)人這么倒霉吧。果然,很多朋友都碰到,解決方法也很多,大都差不多。自己結(jié)合自己的解決過(guò)程,說(shuō)明下,一步到位,省得麻煩。
方法應(yīng)該有兩種,一個(gè)是修改editor.js文件,一個(gè)是升級(jí)ewebeditor版本(第二種方法我沒(méi)有嘗試,哪位朋友試過(guò)的可以秀下)
解決步驟如下:
1、找到editor.js文件(文件搜索下,立刻找到)
2、找到如下紅色代碼
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");
3、用下面藍(lán)色代碼替換上面的紅色代碼
//修改ewebeditor1,以便在IE87及遨游里能夠正常使用編輯器
if(navigator.appVersion.match(/MSIE (7|8)./i)!=null || navigator.appVersion.match(/MAXTHON/i)=='MAXTHON')
{
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "onclick(event)");
}else{
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");
}
//修改ewebeditor1結(jié)束
4、說(shuō)明:
就是當(dāng)點(diǎn)擊按鈕的時(shí)候激活對(duì)應(yīng)函數(shù),IE8正式版對(duì)anonymous()限制了,把a(bǔ)nonymous()修改為onclick(event)就可以在IE8里使用了,但是IE7及之前的版本卻不行,所以為了能夠在IE8及前面的版本都能使用,所以加上了個(gè)判斷語(yǔ)句,而為了在遨游里也能使用,所以又加了個(gè)判斷語(yǔ)句,結(jié)合起來(lái)就是如下語(yǔ)句了: if(navigator.appVersion.match(/MSIE (7|8)./i)!=null || navigator.appVersion.match(/MAXTHON/i)=='MAXTHON')
方法三:
前幾天ie8正式公布了,當(dāng)天中午我就去下載了一個(gè)迫不急待的將自己的瀏覽器升級(jí)到ie8,偶還刻意的去升級(jí)了一個(gè)英文版的,感覺(jué)英文版的超級(jí)爽,就在我還在為ie8的一些新功能大爽特爽時(shí),一個(gè)齷齪的消息來(lái)了,我網(wǎng)站后臺(tái)的編輯器都不管用了。
我有好幾個(gè)網(wǎng)站,編輯器全用的那一個(gè),也就是ewebeditor編輯器,因?yàn)檫@個(gè)鳥(niǎo)編輯器我前幾天幾乎所有的網(wǎng)站都被黑客攻擊,今天又遇到這個(gè)問(wèn)題,讓我頓時(shí)對(duì)這個(gè)編輯器沒(méi)了好感,所以近期也在自己開(kāi)發(fā)一個(gè)編輯器,歡迎大家隨時(shí)關(guān)注我的天道酬勤博客,我會(huì)把編輯器的源代碼和系統(tǒng)講解都會(huì)在那里公布,打造一個(gè)純開(kāi)源純免費(fèi)的編輯器。
問(wèn)題是這樣的,在ie8下ewebeditor的所有按鈕都無(wú)效,因?yàn)閕e8是當(dāng)天發(fā)布的,所以網(wǎng)上也沒(méi)有這樣的解決辦法,然后就換360瀏覽器,沒(méi)想到360瀏覽器用的也是ie的內(nèi)核,還是一樣,沒(méi)辦法只能等等看了,畢竟這個(gè)編輯器不是自己寫(xiě)的,一時(shí)半會(huì)兒也找不到解決辦法,于是到了第二天,終于在網(wǎng)上找到了解決辦法:
是因?yàn)閕e8屏蔽了anonymous方法所以要改成onclick方法,打開(kāi)include下面的editor.js文件,有這樣的段代碼:
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + “anonymous()”);
把那個(gè)anonymous方法改成onclick就可以了。
問(wèn)題是解決了,心情也舒暢了,結(jié)果沒(méi)過(guò)兩個(gè)小時(shí)我的會(huì)員就像我反應(yīng)頁(yè)面出問(wèn)題,我換到別人的電腦上一看,這叫一個(gè)汗,原來(lái)把那個(gè)方法改成onclick之后在ie7下面就不管用了,畢竟現(xiàn)在很多人用的還是ie7,這叫一個(gè)頭疼,于是還是去網(wǎng)上找,總是感覺(jué)不可能是我一個(gè)人遇到這樣的問(wèn)題。
后果然還是在csdn上找到了答案:
if(navigator.appVersion.match(/8./i)==’8.’)
{
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + “onclick(event)”);
}
else
{
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + “anonymous()”);
}
用這樣一段代碼,對(duì)瀏覽器的版本做一個(gè)判斷就好了,但是我卻不知道在ie6下面管不管用,畢竟現(xiàn)在用ie6的人少了,一時(shí)我也不知道去哪測(cè)試。