浏览器升级为ie8后编辑器eWebeditor无法使用的解决办法
之前开发的网站,网页编辑器很多都是使用ewebeditor.人算不如天算。现在浏览器经常升级,原来网站在ie6/ie7 可以正常使用的功能,升级
到8.0竟然出现点击ewebeditor在线编辑器按钮无法弹出编辑框的问题,即所有按钮都失效了,怎么办呢?
原来由于ewebeditor里面使用了函数anonymous()函数,浏览器升级成ie8.0后因为anonymous()函数在ie8.0中不能使用,ie8.0中只能用
onclick(event),而其他8.0以下的只能用anonymous(),所以这里要使用javascript的try函数,对客户端ie用8.0代码进行试运行。如果出错
,再尝试8.0以下的代码进行处理,或者让网页在指定的ie模式下运行,比如指定为IE6 或者IE7 。
方法一 、在页面头部中中加入这一句即可
<meta http-equiv="x-ua-compatible" content="ie=7" />
或者
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
上面的两个写法的效果都是一样的,只是写法稍有不同
方法二、通过修改editor.js文件(注意,新手修改前记得备份editor.js文件哟)
在eWebEditor的目录里找到Editor.js文件,一般路径是webedit\Include\Editor.js(版本不同路径也不一定相同,新版本中
webedit/js/editor.js),在其中找到如下代码:
if (element.YUSERONCLICK) {
eval(element.YUSERONCLICK + "anonymous()");
}
或者
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");
版本不同可能写法有点区别
将上面的代码替换为
if (element.YUSERONCLICK)
{
try
{
eval(element.YUSERONCLICK + "onclick(event)");
}
catch (e){
eval(element.YUSERONCLICK + "anonymous()");
}
}
再保存,然后就可以了。
如果出错,再尝试8.0以下的代码进行处理。
我是放在ASP.NET中使用的,例:
<input type="hidden" id="content" value="" runat="server">
<iframe id="eWebEditor1" src="eWebEditor/ewebeditor.htm?id=content&style=coolblue" frameborder="0" scrolling="no"
width="720" height="350">
</iframe>
注:input中的id名字要和iframe中src="eWebEditor/ewebeditor.htm?id=content这里的id名字要相同