注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

.

.

 
 
 

日志

 
 

Ewebeditor IE8 ie7 兼容问题最简单解决方法  

2012-03-27 16:37:00|  分类: 软件使用 |  标签: |举报 |字号 订阅

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

     在一个哥们的贴子中是这样写的,打开include下面的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)"); //IE8 or IE7
} 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)");

==================================

我用下面这个人的方法解决了

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


  评论这张
 
阅读(338)| 评论(0)
推荐

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017