在线帮助 ICP备案 合作机构 我要订制
 
 7×24客服热线:13663712063
您的位置:首页  技术支持 eWebEditor在IE8下无法使用的解决方法
       越辰家政管理软件
       越辰空调售后管理软件
       越辰图书销售管理软件
       越辰物业管理软件
       越辰茶楼管理软件
       越辰幼儿园管理软件
       越辰餐饮管理软件
       越辰病历管理系统
       越辰洗浴管理软件
       越辰住院管理系统
       越辰超市管理系统
  

eWebEditor在IE8下无法使用的解决方法

来源:yocin  时间:2011-1-23 16:03:36  栏目:技术支持  点击率:3551

(越辰家政软件部收集整理www.yocin.com)

IE8从推出到现在已经有了一段时间了,大家也逐渐开始升级到IE8,但如果您的网站后台使用了eWebEditor在线编辑器的话,就会碰到以下的问题:

网站后台使用的可视化编辑器不能正常使用,编辑器图标点击无效(兼容模式依然无效),会提示editor.js或editor.asp等网页中的“缺少对象”错误。

根据网友们的分析:是IE8中不再支持“anonymous()”方法,于是网上也出现解决的办法,就是将anonymous()改为onclick(event),在IE8中便可正常使用,同时增加了版本判断,使得代码兼容老版本的IE,例如IE6/IE7。

方法如下:

打开 Editor/Js/Editor.js,把下面的

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

改为:

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

或者

var Sys = {};
        var ua = navigator.userAgent.toLowerCase();
        var s;
        (s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] :
        if(Sys.ie=='8.0') //IE版本判断
         {
           if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "onclick(event)");
          }
        else
         {
           if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");
          }
************************************************************************************
不同写法:
如果说web编辑器中用户量,ewebeditor绝对占有一席之地。虽然随着技术的发展,ckeditor的运用越来越广泛,但众多的系统,
尤其是在asp系统中,ewebeditor依然广泛存在。
在ie8中,默认情况下,会无法使用ewebeditor的弹出框功能,也就是说,它的插入图片,文件功能却因为无法调出而不能使用。
其实,这个问题的出现,其根本原因是ewebeditor中使用了ie8不支持的anonymous()方法.
if () eval( + “anonymous()”);
我们先来看看什么是anonymous方法,从上面的代码中,可以注意到这应该是一个事件处理的代码。由于用到了eval,而eval方法就
是执行“字符串”中的js代码.先来看看官方是怎么解释的,我在这个网页(
假如我们要处理点击事件,我们通常需要编写事件处理函数,一般来说,DOM提供了捕捉事件的方法,另外,它还提供了Event类,
此类中包含了有关事件的所有信息,这样,你就可以在自己的事件处理函数中使用它了。
onclick=”alert()”>点击此处.
由于浏览器的不同,上述的处理方式也就有了小小的不同。Netscape浏览器中使用的方法是
function onclick(event) {
alert(this.onclick);
}
而在ie的8.0以前的版本中,则提供了另外一种处理方法,这种方法就是anonymous方法
function anonymous() {
alert(this.onclick);
}
由于ie8已经不再兼容这个方法而是采用了和netscape相同的处理方法,因此,上述方法在ie8中就失去作用,也就导致了
ewebeditor
在ie8中无法使用插入图片的问题。解决的方法就是使用netscape的处理方式,同时,为了兼容以前的浏览器,我们需要对
浏览器的类型进行判断,并仅在ie8时使用netscape方法.
1、首先找到eWebEditor编辑器所在的目录,然后搜索到editor.js文件,由于eWebEditor有很多个版本,所以editor.js
文件所在的目录也有所不同,有的可能在Include目录下,有的可能在js目录下。  

  2、用记事本打开editor.js文件,找到如下代码:  

  if (element.YUSERONCLICK) {

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

  }  

  由于eWebEditor编辑器版本不同,有的可能找不到上面的代码,而是下面这样的代码,两种代码只是书写格式不同而已,
含义是一样的:  

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

  3、将上面的代码替换为下面的代码即可:  

  if(navigator.appVersion.match(/8./i)=='8.')

  {

   if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "onclick(event)");

  }

  else

  {

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

  }

虽然以上方法解决了IE8中使用的问题,但在Chrome、Opera、Firefox这三个浏览器下依然不能使用,所以建议各位开发网站时慎重使用eWebeditor编辑器,或者改用Fckeditor编辑器。

Copyright ◎2008-2018郑州越辰科技有限公司 版权所有 网站地图
地址:中国·河南郑州市文化路交北环路北晨e时代B座505室 
电话:0371-63399049 13663712063 备案号:豫ICP备19031456号
我们专注于 软件开发| 网站制作  返回欢迎页 
  
点击这里给我发消息 越辰业务
点击这里给我发消息 越辰业务
点击这里给我发消息 越辰代理
点击这里给我发消息 越辰技术
 ,页面执行时间:15.625毫秒        
up close

返回顶部

越辰科技微信
微信扫一扫