• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
┾ 心依定矣 ┾
博客园    首页    新随笔    联系   管理    订阅  订阅
eWebEditor不支持IE8的解决方法[js报错:缺少或不支持对象 editor.js]

今天新装了IE8后发现,网站的后台编辑页面,无法上传文件和图片,点击编辑器的按钮没反应,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)");
}

此种方法在各种IE下都是有效的。(ewebeditor好像只支持IE)。

posted on 2010-08-02 10:56  ┾ 心依定矣 ┾  阅读(243)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3