聊城万拓网络科技-专业聊城网站建设、聊城网站制作、聊城网站优化、聊城做网站的品牌网站建设专家!

    您当前的位置是:首页 - 新闻动态 - 网站设计 » eWebEditor不兼容IE6、IE7、IE8和360极速浏览器,如何解决?

    eWebEditor不兼容IE6、IE7、IE8和360极速浏览器,如何解决?
     发布时间:2014-03-25  点击次数: 次   作者:万拓网络  来源:lcbaituo.com  Tags:

    最近项目用了eWebEditoreWebEditor在线HTML文本编辑器,发现点击eWebEditor上的所有按钮都没反应,eWebEditor一直都没改过,很少纳闷,经过排除最终确定问题出在IE浏览器的版本。
    解决eWebEditor不支持IE8.IE7.傲游浏览器的方法如下:

    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.' || navigator.appVersion.match(/7./i)=='7.' || navigator.appVersion.match(/MAXTHON/i)=='MAXTHON')
    {
            if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "onclick(event)");  
    }
    else
    {
           if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");
    }
    eWebEditor不支持IE8的解决方法[js报错:缺少对象 editor.js]IE8显示JS错误,缺少对象,editor.js 132行。上网一查,原来是eWebEditor的浏览器兼容问题。以前在IE6下面是没问题的。

    editor.js 132行代码是:

    if (element.YUSERONCLICK) {
      eval(element.YUSERONCLICK + “anonymous()”);
    }

     

    原因是ie8屏蔽了anonymous方法所以要改成onclick方法。网上的解决方法如下:(加个判断浏览器的语句)

    if(navigator.appVersion.match(/MSIE (7|8)\./i)!=null){
         if (element.YUSERONCLICK) eval(element.YUSERONCLICK + “onclick(event)”); 
    }else{
         if (element.YUSERONCLICK) eval(element.YUSERONCLICK + “anonymous()”);
    }

    经测试,IE8和ie6下面是没问题的。但是在IE7下有问题。navigator.appVersion返回的字符串在各种IE的情况下并不与实际情况一致,比如在同时安装了IE8和以IE内核的浏览器(比如搜狗浏览器)的情况下,并不是返回MSIE 8 而是MSIE 7。因此网上这种解决办法是并不总是有效的。

     

    现在在网上发现的一种可行办法是:

    try{
    if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");
    }
    catch(e){
    if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "onclick(event)");
    }

    本地用360测试网站后台,突然发现编辑器不显示了。我们都知道eWebEditor编辑器在火狐下不显示是可以理解的。
    但是360应该支持的,于是找了下原因。
    问题就出在:eWebEditor/ewebeditor.htm倒数几行。
    document.write ("<script type='text/javascript' src='style/"+config.StyleName+".js'><\/script>");
    document.write ("<script type='text/javascript' src='js/lang.js'><\/script>");
    document.write ("<script type='text/javascript' src='js/main.js'><\/script>");
    参考修改为以下代码:
    document.write ("<scr"+"ipt  type='text/javascript' src='style/"+config.StyleName+".js'><\/scr"+"ipt>");
    document.write ("<scr"+"ipt  type='text/javascript' src='js/lang.js'><\/scr"+"ipt>");
    document.write ("<scr"+"ipt  type='text/javascript' src='js/main.js'><\/scr"+"ipt>");
    360浏览器为了安全,可能过滤了JS的调用。
    希望以上方法能为你解决问题!

     



    分享到:
    上一篇:聊城网站建设的站长们应该如何对待百度经常的算法
    下一篇:经典网址集完全正确版集锦
     

    本站业务:聊城网站建设-聊城网站制作-聊城做网站