Dream Maker 老漂 不要有和人斗的心,你要赢的是你自己!

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)");
}

Tags:

发布: 老漂 分类: 网站|站长 评论: 1 浏览: 73
留言列表
云计算云服务
云计算云服务 代码不用懂太多。有用的就记下来
发表留言
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。