精品久久亚洲_69pao在线成人免费视频_黄色三级网络_亚洲国产精品激情在线观看

您的位置:首頁 >> 資源中心 >> 資源收集 >> 瀏覽文章

eWebEditor不支持IE8、IE7、火狐、傲游的解決方法

時間:2012-06-13 | 欄目:資源收集 | 來源:不詳 | 編輯:蝌索窩www.yeewaa.com | 點擊:978 【點擊復制鏈接】

eWebEditor不能用 eWebEditor在IE7 ie8下不能使用怎么辦

eWebEditor編輯器是個使用非常廣泛的網頁編輯器,在IE6時代非常好用,但自從幾年前IE7出來,到現在IE8、IE9大行其道的時代,就發現在新的瀏覽器下已經無法正常工作了,點擊功能按鈕不能彈出任何菜單等窗口出來,無法使用,本文就是收集了網上能找到的一些方法,大家可以多做測試,科杰在線www.yeewaa.com提示,本文最底部標紅代碼,是我們親測通過的,其它的都不行。


  解決方法:打開include/js下面的editor.js文件,有這樣的段代碼:
  
  if(element.YUSERONCLICK){
  
  eval(element.YUSERONCLICK+"anonymous()");
  
  }
  
  或
  
  if(element.YUSERONCLICK)eval(element.YUSERONCLICK+"anonymous()");
  
  或
  
  if(element.YUSERONCLICK)eval(element.YUSERONCLICK+"anonymous()");
  
  說是因為ie8屏蔽了anonymous方法所以要改成click方法,于是就改成這樣,但是我又有了一個驚人的發現,那就是改成這樣之后在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()");
  
  }
  
  如果還是不行用下面這個
  
  if(navigator.appVersion.match(/8./i)=='8.'||navigator.appVersion.match(/7./i)=='7.'){
  
  if(element.YUSERONCLICK)eval(element.YUSERONCLICK+"onclick(event)");//IE8orIE7
  
  }else{
  
  if(element.YUSERONCLICK)eval(element.YUSERONCLICK+"anonymous()");//IE6
  
  }
  
  把代碼改成這樣之后在ie7和ie8下就都管用了。
  
  =========================================================================
  
  以上是一個人的說話,以下是另一個人的
  
  還有由于那個eWebEditor編輯器的問題。
  
  今天檢查公司一老站后臺,發現eWebEditor編輯不能使用,按照網上找的答案
  
  找到editor.js文件,把這文件里的一行語句if(element.YUSERONCLICK)eval(element.YUSERONCLICK+“anonymous()”);
  
  修改成
  
  if(navigator.appVersion.match(/8./i)==’8.’)
  
  {
  
  if(element.YUSERONCLICK)eval(element.YUSERONCLICK+“onclick(event)”);
  
  }
  
  else
  
  {
  
  if(element.YUSERONCLICK)eval(element.YUSERONCLICK+“anonymous()”);
  
  }
  
  原因是IE8不支持anonymous(),所以要換成onclick(event)事件。
  
  修改之后一同事使用IE7竟然不能正常使用該編輯器,修改之后可以。
  
  估計還是那行代碼的問題。恢復以前的,IE7可以而IE8不可以。看來還必須先判斷IE版本然后再寫不同的代碼。
  
  于是就使用了下面的代碼:
  
  if(navigator.appVersion.match(/8./i)=='8.'){
  
  if(element.YUSERONCLICK)eval(element.YUSERONCLICK+"onclick(event)");
  
  }else{
  
  if(element.YUSERONCLICK)eval(element.YUSERONCLICK+"anonymous()");
  
  }
  
  修改之后在IE8和IE7均可以正常使用eWebEditor編輯器。
  
  但是在裝有IE8的機器上使用傲游瀏覽器竟然不能使用該編輯器,納悶了,傲游是IE內核,應該可以呀。
  
  于是就使用alert(navigator.appVersion)彈出信息,結果發現竟然是IE7?
  
  暈了!竟然不一樣?難道傲游沒有用到真正的IE8內核?還是顯示的問題?
  
  難道再加一句判斷傲游的?
  
  沒辦法:
  
  if(navigator.appVersion.match(/8./i)=='8.'||navigator.appVersion.match(/MAXTHON/i)=='MAXTHON'){
  
  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)");
  
  ==================================
  
  我用下面這個人的方法解決了
  
  ----------------------------------------------
  
  原創]簡單解決ewebeditor在IE7、IE8下失效問題
  
  EWEBEDITOR在IE7、IE8下,圖片上傳等按鈕總是不能正常彈出,搞的人很郁悶,在網上搜索了一下解決方法,找到代碼編輯器目錄JS下的EDITOR.JS文件,找到如下代碼
  
  if(element.YUSERONCLICK){
  
  eval(element.YUSERONCLICK+"anonymous()");
  
  }
  
  再換成如下代碼:
  
  以下是引用片段:
  
  if(navigator.appVersion.match(/8./i)=='8.'||navigator.appVersion.match(/7./i)=='7.'){
  
  if(element.YUSERONCLICK)eval(element.YUSERONCLICK+"onclick(event)");//IE8orIE7
  
  }else{
  
  if(element.YUSERONCLICK)eval(element.YUSERONCLICK+"anonymous()");//IE6
  
  }
  
  替換后問題依舊。TNND,又找一位仁兄寫的代碼換上:
  
  以下是引用片段:
  
  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()");
  
  }
  
  還是不行,兩個代碼都未能解決問題,郁悶,看來,要不是瀏覽器中毒了,造成JS不能正常取得版本號,就是我RP太差。所以引起程序不知道如何處理判斷。我看了一下兩位作者的代碼,雖然寫的很好,但是都有局限性。既然知道了造成問題的原因,那就好辦了,自己寫吧

 科杰在線www.yeewaa.com提示:直接替換那句寫為下面這樣的,測試通過。
  
  try{
  
  eval(element.YUSERONCLICK+"anonymous()");
  
  }
  
  catch(error)
  
  {
  
  eval(element.YUSERONCLICK+"onclick(event)");
  
  }

  
  寫完以后再次測試,OK,正常了,哈哈!!我不管它是IE7還是IE8,我都往下執行,一個錯了我就執行另一個,管它呢,哈哈,正常解決,容錯語句就是挺管用的。


本文轉自龍脈科技,科杰在線www.yeewaa.com稍做修改。
  • 軟硬件教學
  • 資源收集
  • 生活百科