IE8下eWebEditor点击没有反应的解决方案

来源:互联网 发布:金山网络2016校园招聘 编辑:程序博客网 时间:2024/04/29 00:03

在eWebEditor的目录里找到Editor.js文件,用记事本打开,在其中找到如下代码

if (element.YUSERONCLICK) {

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

}

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


前几天看新闻说傲游开发自己的内核浏览器,希望众多浏览器在兼容代码上好一些,不要浪费编写代码者的那么多找不兼容问题、调试不兼容问题的时间。

如果上面不行的话,请使用下面的方法:

if (element.YUSERONCLICK) {
try {
eval(element.YUSERONCLICK + "anonymous()");
}
catch(err) {
eval(element.YUSERONCLICK + "onclick(event)");
}
}