彻底解决IE7、IE8下eWebEditor编辑器各个按钮点击无效的问题

发布时间:2011-08-22 11:24:41

彻底解决IE7IE8eWebEditor编辑器各个按钮点击无效的问题-我试啦成功1

2011-07-28 12:10

IE7IE8 eWebEditor点击上传图片等按钮后无反应 经测试IE6下没问题。

接着我又从网上下载最新版本的免费  eWebEditor 替换文件,更新后发现问题并没有解决~

图为 eWebEditor

原因:

经过多方查找,发现原因是编辑器下的一个JS文件出了问题。 由于IE7IE8不支持anonymous(),所以要换成onclick(event)事件 ,而在编辑器里的一个Js文件就是使用了anonymous()。

解决办法:

将编辑器所在目录下的Include文件夹内的Editor.js文件打开,找到

if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");

因为要兼顾到IE6下不支持onclick(event)事件故要根据浏览器的版本来决定相应的事件,所以代码可以改为:

if(navigator.appVersion.match(/8./i)=='8.')     //判断浏览器是不是IE8,如果是,则执行以下代码
{
        if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "onclick(event)");
}
else  //如果不是,则执行以下代码
{
        if (element.YUSERONCLICK) eval (element.YUSERONCLICK + "anonymous()");
}

或者

if((navigator.appVersion.match(/MSIE 7./i)=='MSIE 7.' && navigator.appVersion.match(/Trident/i)=='Trident') || navigator.appVersion.match(/MSIE 8./i)=='MSIE 8.')
{
        if (element.YUSERONCLICK) eval (element.YUSERONCLICK + "onclick(event)");
}
else
{
        if (element.YUSERONCLICK) eval (element.YUSERONCLICK + "anonymous()");
}

但是不知道什么原因,以上两种代码在我这个后台不发挥作用,因为获取不到浏览器的版本,所以,最终只能改用以下代码:

 

 

function BtnMouseUp() {
 if (event.srcElement.tagName != "IMG") {
  event.cancelBubble = true;
  return false;
 }

 var image = event.srcElement;
 var element = image.parentElement;

 try 

{  eval(element.YUSERONCLICK + "anonymous()");
}
catch(error)
{
eval(element.YUSERONCLICK + "onclick(event)");
}

最后,大功告成~

 

彻底解决IE7、IE8下eWebEditor编辑器各个按钮点击无效的问题

相关推荐