彻底解决IE7、IE8下eWebEditor编辑器各个按钮点击无效的问题
发布时间:2011-08-22 11:24:41
发布时间:2011-08-22 11:24:41
彻底解决IE7、IE8下eWebEditor编辑器各个按钮点击无效的问题-我试啦成功1
2011-07-28 12:10
IE7、IE8下 eWebEditor点击上传图片等按钮后无反应 经测试IE6下没问题。
接着我又从网上下载最新版本的免费 eWebEditor 替换文件,更新后发现问题并没有解决~
图为 eWebEditor
原因:
经过多方查找,发现原因是编辑器下的一个JS文件出了问题。 由于IE7、IE8不支持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)");}
最后,大功告成~