eWebEditor不支持IE,IE8,IE7,火狐,遨游的解决方法
发布时间:2011-06-06 07:57:00
昨天ie8正式发布了,偶也去下载了一个,感觉很爽, 还在美的时候,突然发现很多网页都出问题,更可气的是自己的网站编辑器eWebEditor也不管用了,所有的按钮都不管用,即使是别的浏览器也都不管用,我这叫一个汗。于是就去360论坛找人问,因为我用的360浏览器以为是360浏览器的问题。问了半天也没有人回答我于是我就去网上找,由于今天才出的ie8所以网上根本也没有这方面的解决办法,于是到了第二天,网上终于有了这样的贴子,所以我也找了找解决办法。
在一个哥们的贴子中是这样写的,打开include下面的editor.js文件,有这样的段代码:
if (element.YUSERONCLICK) {
eval(element.YUSERONCLICK + "anonymous()");
}
或
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");
或
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");
说是因为ie8屏蔽了anonymous方法 所以要改成click方法,于是就改成这样,但是我又有了一个惊人的发现,那就是改成这样之后在ie7下编辑器就不管用了,痛苦之余我又去网上查,网上果然高水如云,果然在csdn上找到了答案:
if(navigator.appVersion.match(/8./i)=='8.')
{
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "onclick(event)");
}
else
{
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");
}
如果还是不行用下面这个
if(navigator.appVersion.match(/8./i)=='8.' || navigator.appVersion.match(/7./i)=='7.'){
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "onclick(event)"); //IE8 or IE7
} else {
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()"); //IE6
}
把代码改成这样之后在ie7和ie8下就都管用了。
=========================================================================
以上是一个人的说话,以下是另一个人的
还有由于那个eWebEditor编辑器的问题。
今天检查公司一老站后台,发现eWebEditor编辑不能使用,按照网上找的答案
找到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()”);
}
原因是IE8不支持anonymous(),所以要换成onclick(event)事件。
修改之后一同事使用IE7竟然不能正常使用该编辑器,修改之后可以。
估计还是那行代码的问题。恢复以前的,IE7可以而IE8不可以。看来还必须先判断IE版本然后再写不同的代码。
于是就使用了下面的代码:
if(navigator.appVersion.match(/8./i)=='8.'){
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "onclick(event)");
}else{
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");
}
修改之后在IE8和IE7均可以正常使用eWebEditor编辑器。
但是在装有IE8的机器上使用傲游浏览器竟然不能使用该编辑器,纳闷了,傲游是IE内核,应该可以呀。
于是就使用alert(navigator.appVersion)弹出信息,结果发现竟然是IE7?
晕了!竟然不一样?难道傲游没有用到真正的IE8内核?还是显示的问题?
难道再加一句判断傲游的?
没办法:
if(navigator.appVersion.match(/8./i)=='8.' || navigator.appVersion.match(/MAXTHON/i)=='MAXTHON'){
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "onclick(event)");
}else{
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");
}
前几天看新闻说傲游开发自己的内核浏览器,希望众多浏览器在兼容代码上好一些,不要浪费编写代码者的那么多找不兼容问题、调试不兼容问题的时间。
如果上面不行的话,请使用下面的方法:
try{
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");
}
catch(e){
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "onclick(event)");
==================================
我用下面这个人的方法解决了
----------------------------------------------
类似文摘:
原创]简单解决ewebeditor在IE7、IE8下失效问题
EWEBEDITOR在IE7、IE8下,图片上传等按钮总是不能正常弹出,搞的人很郁闷,在网上搜索了一下解决方法,找到代码编辑器目录JS下的EDITOR.JS文件,找到如下代码
if (element.YUSERONCLICK) {
eval(element.YUSERONCLICK + "anonymous()");
}
再换成如下代码:
以下是引用片段:
if(navigator.appVersion.match(/8./i)=='8.' || navigator.appVersion.match(/7./i)=='7.'){
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "onclick(event)"); //IE8 or IE7
} else {
if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()"); //IE6
}
替换后问题依旧。TNND,又找一位仁兄写的代码换上:
以下是引用片段:
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()");
}
还是不行,两个代码都未能解决问题,郁闷,看来,要不是浏览器中毒了,造成JS不能正常取得版本号,就是我RP太差。所以引起程序不知道如何处理判断。我看了一下两位作者的代码,虽然写的很好,但是都有局限性。既然知道了造成问题的原因,那就好办了,自己写吧
此文章出处为西宁威势电子信息服务有限公司:
try{
eval(element.YUSERONCLICK + "anonymous()");
}
catch(error)
{
eval(element.YUSERONCLICK + "onclick(event)");
}
写完以后再次测试,OK,正常了,哈哈!!我不管它是IE7还是IE8,我都往下执行,一个错了我就执行另一个,管它呢,哈哈,正常解决,容错语句就是挺管用的。
猜你喜欢
- __getattr__函数的作用: 如果属性查找(attribute lookup)在实例以及对应的类中(通过__dict__)失败, 那么
- python爬虫--爬取网易云音乐评论方1:使用selenium模块,简单粗暴。但是虽然方便但是缺点也是很明显,运行慢等等等。方
- 一、SQL模式SQL的模式匹配允许你使用“_”匹配任何单个字符,而“%”匹配任意数目字符(包括零个字符)。在 MySQL中,SQL的模式缺省
- 基于bootstrap插件实现autocomplete自动完成表单,提供脚本代码,用例,以及后台服务端(php), 原文有些没说清楚的地方,
- 这篇文章主要介绍了python3获取文件中url内容并下载代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价
- 一、前言设计应用程序时,有时不希望将一个不太相关的功能集成到程序中,或者是因为该功能与当前设计的应用程序联系不大,或者是因为该功能已经可以使
- 本章的内容完全基于上文的理论基础,实际上一旦理解了索引背后的机制,那么选择高性能的策略就变成了纯粹的推理,并且可以理解这些策略背后的逻辑。示
- 本文实例讲述了Python实现的根据文件名查找数据文件功能。分享给大家供大家参考,具体如下:#-*- coding: UTF-8 -*-im
- 我最近在涉及大量数据处理的项目中频繁使用 sqlite3。我最初的尝试根本不涉及任何数据库,所有的数据都将保存在内存中,包括字典查找、迭代和
- 实现效果:实现代码import numpy as npfrom skimage import img_as_floatimport matp
- 这篇文章主要介绍了如何基于pythonnet调用halcon脚本,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值
- 简介序列化的目的是方便数据的传输和存储,在PHP中,序列化和反序列化一般用做缓存,比如session缓存,cookie等。反序列化中常见的魔
- 1. JSON简介JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它是JavaScript的子
- 总览:借鉴了市面上存在的几个课程表软件,因为功能太繁杂,于是自己尝试做了个课程表小程序并开源,目前已经支持添加删除课程表功能,还加入了日课表
- 引言Lambda 函数(也称为匿名函数)是函数式编程中的核心概念之一。支持多编程范例的 Python 也提供了一种简单的方法来定义 lamb
- js写常用导航鼠标下经过下方横线自动跟随html代码如下:<div class="header"> &nbs
- 本文实例为大家分享了python实现某考试系统生成word试卷的具体代码,供大家参考,具体内容如下提示:写完文章后,目录可以自动生成,如何生
- 本文实例讲述了Python模块相关知识点。分享给大家供大家参考,具体如下:1.模块:定义:用来从逻辑上组织python代码(变量,函数,类,
- Python try重新执行:def numberinput(): #创建方法 try: s=int(input('n
- Supervisor 是基于 Python 的进程管理工具,只能运行在 Unix-Like 的系统上,也就是无法运行在 Windows 上。