1. 網站后臺編輯器在ie8下按紐不能用的解決方案!

      2010-09-24

      由于工作需要,所以前一陣子將IE升級到了8.0,結果今天發現出現一個問題,eWebEditor的在線編輯器不好用了,仔細想想,肯定是IE8搞的鬼,因為我在局域網的其它機器也測試了下,都好用,知道原因后在網上一頓查找解決方法,后讓我找到了,是CSDN的一位高手寫的一篇文章:

      以下方法基本匯集全各種處理辦法了,部分辦法在有些機器上不可用,請選擇有效的辦法使用即可。方法一能夠兼容ie6、7、8.

      下載:Editor.rar

      方法一:

      今天把ie升級到8.0竟然出現點擊ewebeditor在線編輯器按鈕無法彈出編輯框的問題,就是所有按鈕都失效了。
      查看了一下網絡資料,測試了一下都不能用,好自己研究出一個可行的解決辦法,并測試成功了。
      具體操作如下:
      打開editor.js
      找到if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");
      將其修改為:
      if (element.YUSERONCLICK)
      {
      try
      {
      eval(element.YUSERONCLICK + "onclick(event)");
      }
      catch  (e){
      eval(element.YUSERONCLICK + "anonymous()");
      }
      }
      再保存,然后就可以了。
      升級成ie8.0后無法正常使用ewebeditor是因為anonymous()函數在ie8.0中不能使用,ie8.0中只能用
      onclick(event),而其他8.0以下的只能用anonymous(),所以這里要使用javascript的try函數,對客戶端ie用8.0代碼進行試運行。如果出錯,再嘗試8.0以下的代碼進行處理。

      方法二:

      由于IE升級,造成網站后臺編輯器(eWebEditor)的按鈕不能使用,如:插入圖片等功能。有些第三方瀏覽器也不行,因為它們使用了IE內核,如遨游。那么如何解決呢,搜索了網上資料,想必肯定不可能只有我一個人這么倒霉吧。果然,很多朋友都碰到,解決方法也很多,大都差不多。自己結合自己的解決過程,說明下,一步到位,省得麻煩。

      方法應該有兩種,一個是修改editor.js文件,一個是升級ewebeditor版本(第二種方法我沒有嘗試,哪位朋友試過的可以秀下)

      解決步驟如下:

      1、找到editor.js文件(文件搜索下,立刻找到)

      2、找到如下紅色代碼

      if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");

      3、用下面藍色代碼替換上面的紅色代碼

      //修改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結束

      4、說明:

      就是當點擊按鈕的時候激活對應函數,IE8正式版對anonymous()限制了,把anonymous()修改為onclick(event)就可以在IE8里使用了,但是IE7及之前的版本卻不行,所以為了能夠在IE8及前面的版本都能使用,所以加上了個判斷語句,而為了在遨游里也能使用,所以又加了個判斷語句,結合起來就是如下語句了: if(navigator.appVersion.match(/MSIE (7|8)./i)!=null || navigator.appVersion.match(/MAXTHON/i)=='MAXTHON')

      方法三:

      前幾天ie8正式公布了,當天中午我就去下載了一個迫不急待的將自己的瀏覽器升級到ie8,偶還刻意的去升級了一個英文版的,感覺英文版的超級爽,就在我還在為ie8的一些新功能大爽特爽時,一個齷齪的消息來了,我網站后臺的編輯器都不管用了。 

          我有好幾個網站,編輯器全用的那一個,也就是ewebeditor編輯器,因為這個鳥編輯器我前幾天幾乎所有的網站都被黑客攻擊,今天又遇到這個問題,讓我頓時對這個編輯器沒了好感,所以近期也在自己開發一個編輯器,歡迎大家隨時關注我的天道酬勤博客,我會把編輯器的源代碼和系統講解都會在那里公布,打造一個純開源純免費的編輯器。 

          問題是這樣的,在ie8下ewebeditor的所有按鈕都無效,因為ie8是當天發布的,所以網上也沒有這樣的解決辦法,然后就換360瀏覽器,沒想到360瀏覽器用的也是ie的內核,還是一樣,沒辦法只能等等看了,畢竟這個編輯器不是自己寫的,一時半會兒也找不到解決辦法,于是到了第二天,終于在網上找到了解決辦法: 

          是因為ie8屏蔽了anonymous方法所以要改成onclick方法,打開include下面的editor.js文件,有這樣的段代碼:

           if (element.YUSERONCLICK) eval(element.YUSERONCLICK + “anonymous()”);

      把那個anonymous方法改成onclick就可以了。 

          問題是解決了,心情也舒暢了,結果沒過兩個小時我的會員就像我反應頁面出問題,我換到別人的電腦上一看,這叫一個汗,原來把那個方法改成onclick之后在ie7下面就不管用了,畢竟現在很多人用的還是ie7,這叫一個頭疼,于是還是去網上找,總是感覺不可能是我一個人遇到這樣的問題。 

           后果然還是在csdn上找到了答案: 

      if(navigator.appVersion.match(/8./i)==’8.’)
          {
            if (element.YUSERONCLICK) eval(element.YUSERONCLICK + “onclick(event)”); 
         }
      else

         {
           if (element.YUSERONCLICK) eval(element.YUSERONCLICK + “anonymous()”);
      }

          用這樣一段代碼,對瀏覽器的版本做一個判斷就好了,但是我卻不知道在ie6下面管不管用,畢竟現在用ie6的人少了,一時我也不知道去哪測試。