IE8下EWebEditor编辑器的所有按钮都失效
??????? 某天在工作的时候,使用后台的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系统下,好似就算改了也无效!”
?
?