转:eWebEditor不支持IE8的解决方法[js报错:缺少对象 editor.js]
时间:2010-09-26 来源:kevinLee
editor.js 132行代码是:
if (element.YUSERONCLICK) {
eval(element.YUSERONCLICK + “anonymous()”);
}
原因是ie8屏蔽了anonymous方法所以要改成onclick方法。网上的解决方法如下:(加个判断浏览器的语句)
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()”);
}
经测试,IE8和ie6下面是没问题的。但是在IE7下有问题。navigator.appVersion返回的字符串在各种IE的情况下并不与实际情况一致,比如在同时安装了IE8和以IE内核的浏览器(比如搜狗浏览器)的情况下,并不是返回MSIE 8 而是MSIE 7。因此网上这种解决办法是并不总是有效的。
现在在网上发现的一种可行办法是:
try{
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");
}
catch(e){
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "onclick(event)");
}
此种方法在各种IE下都是有效的。(ewebeditor好像只支持IE)。
转自:http://www.cnblogs.com/gaojing/archive/2010/05/10/1731716.html