eWebEditor点击上传图片等按钮后无反应
添加图片功能,字体加粗一系列功能都不能用
IE7、IE8下 eWebEditor点击上传图片等按钮后无反应 经测试IE6下没问题。
接着我又从网上下载最新版本的免费 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()");
}
但是不知道什么原因,以上两种代码在我这个后台不发挥作用,因为获取不到浏览器的版本,所以,最终只能改用以下代码:
在网上找到了终级解决方法,拿来给大家分享。
首先找到eWebEditor编辑器所在的目录,然后搜索到editor.js文件并用文本编辑器打开,然后找到BtnMouseUp()函数,将该函数代码替换成如下代码即可:
function BtnMouseUp() {
if (event.srcElement.tagName != "IMG") {
event.cancelBubble = true;
return false;
}
var image = event.srcElement;
var element = image.parentElement;
try{
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");
}
catch(e){
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "onclick(event)");
}
element.className = "BtnMouseOverUp";
image.className = "Ico";
event.cancelBubble = true;
return false;
}
说明:以上代码中蓝色部分为eWebEditor在线文本编辑器兼容IE9IE8的核心代码,大家也可以根据实际情况更换BtnMouseUp()函数中的相应代码。
小提示:如果你的eWebEditor在线文本编辑器版本过老,在IE9下根本都无法打开eWebEditor界面,你可以在IE9中设置成浏览器兼容模式,即可正常在IE9中使用eWebEditor了。