eWebEditor在IE8,IE7下所有按钮无效之解决办法
eWebEditor 编辑器按钮在ie8下无效。网页弹出错误“js缺少对象”
错误的原因是因为ie8屏蔽了anonymous方法 所以要改成onclick方法,打开include下面的editor.js文件,有这样的段代码(大概在166所在的函数中):
Js代码
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");
把那个anonymous方法改成onclick就可以了。
问题是解决了,结果发现把那个方法改成onclick之后在ie6下面就不管用了 ,解决方法:
Js代码
if(navigator.appVersion.match(/MSIE (7|8)\./i)!=null){
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "onclick(event)");
}else{
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");
}
OK,这下对了。
附另一转载解决方法:
在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()");
}
如果还不行就换成如下代码:
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()");
}
如果再不行的话,还有方法,哪就是还要换掉原来那些代码,代码如下:
如果上面不行的话,请使用下面的方法:
try{
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");
}
catch(e){
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "onclick(event)");
}