某天在工作的时候,使用后台的eWebEditor编辑器编辑文章内容时,发现该编辑器的所有按钮都失效,但是,换到另外一台机子上却可以进行相关的编辑。结果发现,IE6浏览器可以编辑,IE8浏览器不可能编辑。因此,可以确定是IE8的问题。通过网上查阅资料,发现的确如此!
原因:
在IE8.0 Beta2版本下,Editor可以正常使用,IE8.0 RC1版本就不行了,新发布的IE8.0正式版也不行,在Editor编辑器上点击很多按钮均没有反应。当点击按钮的时候激活对应函数,IE8正式版对anonymous()进行了限制。
解决办法:
在eWebEditor的目录里找到Editor.js文件,路径是webedit\Include\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()");
}
现在在进入后台测试下,是不是eWebEditor编辑器按钮可以正常使用了。
如果希望再兼容遨游浏览器,就如下修改:
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()");
}
备注:网络上也有人说“在2003系统下,好似就算改了也无效!”