解决eWebEditor支持IE6、IE7、IE8的三个方法:
方法一
今天把ie升级到8.0竟然出现点击ewebeditor在线编辑器按钮无法弹出编辑框的问题,就是所有按钮都失效了。
查看了一下网络资料,测试了一下都不能用,最好自己研究出一个可行的解决办法,并测试成功了。
具体操作如下:
打开editor.js
找到if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");
将其修改为:
if (element.YUSERONCLICK)
{
try
{
eval(element.YUSERONCLICK + "onclick(event)");
}
catch (e){
eval(element.YUSERONCLICK + "anonymous()");
}
}
再保存,然后就可以了。
升级成ie8.0后无法正常使用ewebeditor是因为anonymous()函数在ie8.0中不能使用,ie8.0中只能用
onclick(event),而其他8.0以下的只能用anonymous(),所以这里要使用javascript的try函数,对客户端ie用8.0代码进行试运行。如果出错,再尝试8.0以下的代码进行处理。
方法二
由于IE升级,造成网站后台编辑器(eWebEditor)的按钮不能使用,如:插入图片等功能。有些第三方浏览器也不行,因为它们使用了IE内核,如遨游。那么如何解决呢。
方法应该有两种,一个是修改editor.js文件,一个是升级ewebeditor版本(第二种方法我没有尝试,可以试下看看)
解决步骤如下:
1、找到editor.js文件(文件搜索下,立刻找到)
2、找到如下红色代码
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");
3、用下面蓝色代码替换上面的红色代码
//修改ewebeditor1,以便在IE8\7及遨游里能够正常使用编辑器
if(navigator.appVersion.match(/MSIE (7|8)\./i)!=null || navigator.appVersion.match(/MAXTHON/i)=='MAXTHON')
{
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "onclick(event)");
}else{
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");
}
//修改ewebeditor1结束
4、说明:
就是当点击按钮的时候激活对应函数,IE8正式版对anonymous()限制了,把anonymous()修改为onclick(event)就可以在IE8里使用了,但是IE7及之前的版本却不行,所以为了能够在IE8及前面的版本都能使用,所以加上了个判断语句,而为了在遨游里也能使用,所以又加了个判断语句,结合起来就是如下语句了: if(navigator.appVersion.match(/MSIE (7|8)\./i)!=null || navigator.appVersion.match(/MAXTHON/i)=='MAXTHON')
方法三
在ie8下ewebeditor的所有按钮都无效,解决办法:
是因为ie8屏蔽了anonymous方法所以要改成onclick方法,打开include下面的editor.js文件,有这样的段代码:
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + “anonymous()”);
把那个anonymous方法改成onclick就可以了。
问题是解决了,但是改成onclick之后在ie7下面就不管用了,毕竟现在很多人用的还是ie7。
最后找到了答案:
if(navigator.appVersion.match(/8./i)==’8.’)
{
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + “onclick(event)”);
}
else
{
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + “anonymous()”);
}
用这样一段代码,对浏览器的版本做一个判断就好了,