以下为转载:

     昨天ie8正式发布了,偶也去下载了一个,感觉很爽, 还在美的时候,突然发现很多网页都出问题,更可气的是自己的网站编辑器也不管用了,所有的按钮都不管用,即使是别的浏览器也都不管用,我这叫一个汗。于是就去360论坛找人问,因为我用的360浏览器以为是360浏览器的问题。问了半天也没有人回答我于是我就去网上找,由于今天才出的ie8所以网上根本也没有这方面的解决办法,于是到了第二天,网上终于有了这样的贴子,所以我也找了找解决办法。

     在一个哥们的贴子中是这样写的,打开include下面的editor.js文件,有这样的段代码:

     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()");
}

把代码改成这样之后在ie7和ie8下就都管用了。

以下为鱼漂优化后的代码:
上面的代码,在类似遨游之类的IE内核浏览器就无法工作了,因为遨游修改了UserAgent。为简化浏览器的判断,鱼漂优化了一下这个代码,分别执行这两条语句,不过用try catch捕获一下异常,以免中断执行:
 try {
  if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "onclick(event)");
 } catch (err) {
 }
 try {
  if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");
 } catch (err) {
 }

除此之外,ewebeditor的浏览器兼容性做得比较差,个人强烈推荐FCKEditor。

Program | 评论(0) | 引用(0) | 阅读(5571)