ie7 ie8 maxthon等浏览器下eWebEditor 错误的终极解决办法

今天写这篇文章还有因为那个eWebEditor编辑器的问题。eWebEditor在IE浏览器8下好像显示不太正常。调用的JS应该是有错误的,eWebEditor编辑不能使用,按照网上找的答案,在火狐下具说是正常的,而在ie浏览器 ,ie8 ,ie7 ,maxthon下有有错误,我想应该是 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)”);
    }

 

转载:http://www.iefans.net/ewebeditor-cuowu-ie7-ie8-maxthon-liulanqi/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值