今天维护网站发现无法打开上传图片的功能,在线编辑器无法使用,原来是IE8 的问题引起的:

ewebeditor editor.js IE8缺少对象的解决方法  

讨论一。

是因为ie8屏蔽了anonymous方法所以要改成onclick方法,打开include下面的editor.js文件,有这样的段代码:

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

把那个anonymous方法改成

问题是解决了,心情也舒畅了,结果没过两个小时我的会员就像我反应页面出问题,我换到别人的电脑上一看,这叫一个汗,原来把那个方法改成

最后果然还是在csdn上找到了答案:

if(navigator.appVersion.match(/8./i)=='8.')
{
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "
}
else

{
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");
}

用这样一段代码,对浏览器的版本做一个判断就好了,但是我却不知道在ie6下面管不管用,毕竟现在用ie6的人少了,一时我也不知道去哪测试。

讨论二。

IE浏览器升级到IE8.0,在使用eWebEditor在线HTML文本编辑器的时候出问题,点击eWebEditor上的所有编辑按钮都没用,只看到浏览器状态栏左下角显示网页上有错误字样。看来eWebEditor真的是很脆弱啊,先是漏洞百出,Firefox不支持,现在IE8也不支持了,真的很郁闷,不过还好,经过研究,问题最终得到了解决。

        一、解决IE8不支持eWebEditor在线文本编辑器的方法如下:
        1、首先找到eWebEditor编辑器所在的目录,然后搜索到editor.js文件,由于eWebEditor有很多个版本,所以editor.js文件所在的目录也有所不同,有的可能在Include目录下,有的可能在js目录下。
        2、用记事本打开editor.js文件,找到如下代码:
if (element.YUSERONCLICK) {
    eval(element.YUSERONCLICK + "anonymous()");
}
        由于eWebEditor编辑器版本不同,有的可能找不到上面的代码,而是下面这样的代码,两种代码只是书写格式不同而已,含义是一样的:
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");
   
        3、将上面的代码替换为下面的代码即可:
if(navigator.appVersion.match(/8./i)=='8.')
    {
      if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "
   }
else
   {
     if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");
}
另:这个方法来自网上转载,我用上面方法修改几个确实是可行的,代Ewebeidtor团队谢谢原创作者哈。不管怎么说IE8真TMD不好用,我玩黑上传时抓包工具在IE8下抓不到数据,而且我的电脑还总是出现IE报错。操NND!

        二、如果IE7也不支持你就加下面这个代码:
if(navigator.appVersion.match(/8./i)=='8.' || navigator.appVersion.match(/7./i)=='7.'){
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + " //IE8 or IE7
} else {
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()"); //IE6
}

        三、如果傲游[Maxthon]也不支持那怎么办?那你继续往下看呗:
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()");
}