后台eWebEditor文本编辑器ie10不能用的解决方法(兼容模式)

所属分类: 软件教程 / 浏览下载 阅读数: 713
收藏 0 赞 0 分享

问题:

最近IE升级到IE10,发现原来eWebEditor文本编辑器不能用了,

解决方案:

只要改一下IE10的兼容性模式。

方法:按F12 如图勾选兼容性视图。

然后再打开后台,编辑器就可以用了。

当然你也可以通过修改js实现兼容效果

打开editor.js
找到if (element.YUSERONCLICK) eval_r(element.YUSERONCLICK + "anonymous()");
昨天ie8正式发布了,偶也去下载了一个,感觉很爽,还在美的时候,突然发现很多网页都出问题,更可气的是自己的网站编辑器也不管用了,所有的按钮都不管用,即使是别的浏览器也都不管用,我这叫一个汗。于是就去360论坛找人问,因为我用的360浏览器以为是360浏览器的问题。问了半天也没有人回答我于是我就去网上找,由于今天才出的ie8所以网上根本也没有这方面的解决办法,于是到了第二天,网上终于有了这样的贴子,所以我也找了找解决办法。
在一个哥们的贴子中是这样写的,打开include下面的editor.js文件,有这样的段代码:
if (element.YUSERONCLICK) {
eval_r(element.YUSERONCLICK + "anonymous()");
}

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

if (element.YUSERONCLICK) eval_r(element.YUSERONCLICK + "anonymous()");
说是因为ie8屏蔽了anonymous方法所以要改成click方法,于是就改成这样,但是我又有了一个惊人的发现,那就是改成这样之后在ie7下编辑器就不管用了,痛苦之余我又去网上查,网上果然高水如云,果然在csdn上找到了答案:

复制代码
代码如下:

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

如果还是不行用下面这个

复制代码
代码如下:

if(navigator.appVersion.match(/8./i)=='8.' || navigator.appVersion.match(/7./i)=='7.'){
if (element.YUSERONCLICK) eval_r(element.YUSERONCLICK + "onclick(event)"); //IE8 or IE7
} else {
if (element.YUSERONCLICK) eval_r(element.YUSERONCLICK + "anonymous()"); //IE6
}

把代码改成这样之后在ie7和ie8下就都管用了。
=========================================================================
以上是一个人的说话,以下是另一个人的
还有由于那个eWebEditor编辑器的问题。
今天检查公司一老站后台,发现eWebEditor编辑不能使用,按照网上找的答案
找到editor.js文件,把这文件里的一行语句if(element.YUSERONCLICK)eval_r(element.YUSERONCLICK + “anonymous()”);
修改成

复制代码
代码如下:

if(navigator.appVersion.match(/8./i)==’8.’)
{
if(element.YUSERONCLICK)eval_r(element.YUSERONCLICK + “onclick(event)”);
}
else
{
if(element.YUSERONCLICK)eval_r(element.YUSERONCLICK + “anonymous()”);
}

原因是IE8不支持anonymous(),所以要换成onclick(event)事件。
修改之后一同事使用IE7竟然不能正常使用该编辑器,修改之后可以。
估计还是那行代码的问题。恢复以前的,IE7可以而IE8不可以。看来还必须先判断IE版本然后再写不同的代码。
于是就使用了下面的代码:

复制代码
代码如下:

if(navigator.appVersion.match(/8./i)=='8.'){
if (element.YUSERONCLICK) eval_r(element.YUSERONCLICK + "onclick(event)");
}else{
if (element.YUSERONCLICK) eval_r(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_r(element.YUSERONCLICK + "onclick(event)");
}else{
if (element.YUSERONCLICK) eval_r(element.YUSERONCLICK + "anonymous()");
}

前几天看新闻说傲游开发自己的内核浏览器,希望众多浏览器在兼容代码上好一些,不要浪费编写代码者的那么多找不兼容问题、调试不兼容问题的时间。
如果上面不行的话,请使用下面的方法:

复制代码
代码如下:

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

我用下面这个人的方法解决了
类似文摘:
原创]简单解决ewebeditor在IE7、IE8下失效问题
EWEBEDITOR在IE7、IE8下,图片上传等按钮总是不能正常弹出,搞的人很郁闷,在网上搜索了一下解决方法,找到代码编辑器目录JS下的EDITOR.JS文件,找到如下代码

复制代码
代码如下:

if (element.YUSERONCLICK) {
eval_r(element.YUSERONCLICK + "anonymous()");
}

再换成如下代码:

复制代码
代码如下:

if(navigator.appVersion.match(/8./i)=='8.' || navigator.appVersion.match(/7./i)=='7.'){
if (element.YUSERONCLICK) eval_r(element.YUSERONCLICK + "onclick(event)"); //IE8 or IE7
} else {
if (element.YUSERONCLICK) eval_r(element.YUSERONCLICK + "anonymous()"); //IE6
}

替换后问题依旧。TNND,又找一位仁兄写的代码换上:

复制代码
代码如下:

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



还是不行,两个代码都未能解决问题,郁闷,看来,要不是浏览器中毒了,造成JS不能正常取得版本号,就是我RP太差。所以引起程序不知道如何处理判断。我看了一下两位作者的代码,虽然写的很好,但是都有局限性。既然知道了造成问题的原因,那就好办了,自己写吧

用这段代码吧:


复制代码
代码如下:

try{
eval_r(element.YUSERONCLICK + "anonymous()");
}
catch(error)
{
eval_r(element.YUSERONCLICK + "onclick(event)");
}


写完以后再次测试,OK,正常了,哈哈!!我不管它是IE7还是IE8,我都往下执行,一个错了我就执行另一个,管它呢,哈哈,正常解决,容错语句就是挺管用的。

更多精彩内容其他人还在看

浏览器标识是怎么意思 360手机浏览器怎么设置浏览器ua标识

浏览器标识是怎么意思,浏览器标识是可以使服务器失败客户的操作系统及版本、cpu类型、浏览器版本等相关信息的功能,开启浏览器标识后你可以更加方便的给不同浏览器发送不同的页面
收藏 0 赞 0 分享

火狐浏览器怎么更改的文件默认保存位置?

火狐浏览器怎么更改的文件默认保存位置?火狐浏览器是安装在C盘的,但是想把下载路径放到D盘,怎么砂纸火狐默认的保存路径呢?下面我们一起来看看火狐浏览器更改保存位置的方法
收藏 0 赞 0 分享

2015年Google浏览器页面搜索彩蛋大全

在使用Google浏览器搜索的时候,有没有遇到一些彩蛋呢?谷歌工程师城会玩,在谷歌的页面搜索中设置了很多彩蛋,当你搜索到某个特定关键词的时候,就会出现一些特效,下面我们一起来看看2015年Google的彩蛋汇总
收藏 0 赞 0 分享

360极速浏览器自动翻译功能能取消掉吗?

360极速浏览器自动翻译功能能取消掉吗?360浏览器自带了翻译功能,遇到了英语会自动翻译成英文,虽然很好用,但是浏览器的流畅度就下降了,可以关闭吗?下面分享360极速浏览器关闭自动翻译的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

qq浏览器怎么卸载?不使用控制面板卸载qq浏览器的教程

qq浏览器怎么卸载?之前我们都是用过控制面板或者第三方安全软件来卸载的,电脑里没有360安全卫士等软件,控制面板里又不显示qq浏览器该怎么卸载呢?下面分享另一种卸载方法,需要的朋友可以参考下
收藏 0 赞 0 分享

火狐浏览器怎么切换到IE兼容模式?

火狐浏览器怎么切换到IE兼容模式?有很多网页其他浏览器打不开,但是用ie浏览器就可以打开,怎么设置成ie兼容模式呢?下面我们来看看火狐浏览器切换到IE兼容模式的详细图文教程,需要的朋友可以参考下
收藏 0 赞 0 分享

谷歌Chrome浏览器不能下载百度网盘文件的两种解决办法

Chrome浏览器点击百度云网盘文件无法下载该怎么办?无法正常下载是因为谷歌拦截了,仔细观察Chrome浏览器地址栏的左上角,我们会发现有个锁状的错误提示,把它解决掉就可以了,下面分享两种解决办法,需要的朋友可以参考下
收藏 0 赞 0 分享

电脑版百度地图怎么删除多余的收藏路线?

电脑版百度地图怎么删除多余的收藏路线?经常用百度地图收藏路线,但是不知不觉就收藏了很多,该怎么删除那些不用的路线呢?下面我们来看看百度地图收藏路线的删除方法,需要的朋友可以参考下
收藏 0 赞 0 分享

用户展示微软Edge浏览器概念设计 Aero与Modern风格的结合体

微软Edge浏览器概念设计曝光,该设计基本上继承了目前Edge浏览器的界面Modern风格特点,同样是采用了明暗两种主题配色。但最明显的不同就是这一设计全面采用了Aero透明特效
收藏 0 赞 0 分享

chrome谷歌浏览器怎么随意下载网页中视频?

chrome谷歌浏览器怎么随意下载网页中视频?平时都是用chrome谷歌浏览器下载视频,下面分享使用chrome浏览器下载网页中的视频的一些技巧,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多