经我们技术员检查,结果原来是eWebEditor文本编辑器对IE8浏览器的兼容性导致的脚本错误,并不是什么“网站空间、服务器中毒、出问题了”呢! 现就将解决方法公布给大家,方便大家修正自己网站的代码以使文本编辑器在各种浏览器下都能兼容、正常使用!
解决IE8不支持eWebEditor在线文本编辑器的方法如下:
【1】首先在eWebEditor文本编辑器根目录下的Include目录下找到editor.js文件(注意:不同的eWebEditor版本的editor.js文件所处目录可能有所不同,有的可能在js目录下)
【2】用记事本打开editor.js文件,找到如下代码:
if (element.YUSERONCLICK) eval_r(element.YUSERONCLICK + 'anonymous()');
注意:不同版本的eWebEditor此段代码可能有所不同,也可能是以下代码:
复制代码 代码如下:
if (element.YUSERONCLICK) {
eval_r(element.YUSERONCLICK + 'anonymous()');
}
以上两段代码只是书写格式不同而已,代码、含义是一样的!
【3】将上面的代码替换为下面的代码即可:
复制代码 代码如下:
if(navigator.appVersion.match(/8./i)=='8.')
{
if (element.YUSERONCLICK) eval_r(element.YUSERONCLICK + 'onclick(event)');
}
else
{
if (element.YUSERONCLICK) eval_r(element.YUSERONCLICK + 'anonymous()');
}
【4】经测试在IE6、IE7、IE8下均能正常使用了,但是在装有IE8的机器上使用傲游浏览器却还是不能正常使用,汗!那就再加一句判断傲游浏览器的代码吧:
复制代码 代码如下:
if(navigator.appVersion.match(/8./i)=='8.' || navigator.appVersion.match(/MAXTHON/i)=='MAXTHON')
{
if (element.YUSERONCLICK) eval_r(element.YUSERONCLICK + "onclick(event)");
}
else
{
if (element.YUSERONCLICK) eval_r(element.YUSERONCLICK + "anonymous()");
}
经测试IE6、IE7、IE8、遨游、360浏览器下均可正常使用!另外如果上面的方法都不行的话,不妨试试以下的构造方法:
复制代码 代码如下:
try{
if (element.YUSERONCLICK) eval_r(element.YUSERONCLICK + "anonymous()");
}
catch(e){
if (element.YUSERONCLICK) eval_r(element.YUSERONCLICK + "onclick(event)");
}
IE8不支持eWebEditor在线文本编辑器的终级解决方法:
如果你发现以上代码都不行!怎么回事呢? 那是因为你用的是升级版的ie8,那样用代码读取出来的IE版本号其实还是升级前的版本号,那版本好读取的就是错误的,用以上代码当然就是不行的了,这时候你最好是重新下载安装个最终发布版的IE8就可以了,要么你只好用一下代码来改:
复制代码 代码如下:
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()");
}
或
复制代码 代码如下:
try{
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");
}
catch(e){
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "onclick(event)");
}
但是以上修改方法会导致文本编辑器在正常的IE7浏览器下又是失效的!!! 所以说最好是(说服客户)安装一个最终版的IE8 !