解决FCKEditor在IE10、IE11下的不兼容问题

时间:2021-05-18

第一种方法、浏览器设置兼容模式

打开IE,点击“工具”菜单,选择“兼容性视图设置”,勾选“在兼容性视图中显示所有网站”选项即可。


第二种方法、在使用编辑器的网页的:

<meta http-equiv="Content-Type" content="text/html; charset=gbk">
下面加
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />

第三种方法、修改编辑器本身JS文件:

修改编辑器目录下的 /editor/js/fckeditorcode_ie.js 文件,查找
B.open("GET",A,false);
在后面加上:
try{B.responseType='msxml-document';}catch(e){}
即为如下:
B.open("GET",A,false);try{B.responseType='msxml-document';}catch(e){}B.send(null);

第四种方法:下载安装百度浏览器

百度浏览器确实不错,网页兼容比较好,而且支持国外网站加速,不用任何插件就可以打开google adsense,方便站长朋友。

下载地址:https://patibleBrowser

找到这行 >>

var sBrowserVersion = navigator.appVersion.match(/MSIE (…)/)[1] ;

替换成 >>

var sBrowserVersion = navigator.appVersion.match(/MSIE ([\d.]+)/)[1] ;

2.在fckeditorcode_ie.js这个文件

找到

e.scopeName!='HTML'

把if条件换成

if(FCKBrowserInfo.IsIE&& e.scopeName && e.scopeName!='HTML')

找到

D.parentElement().document!=B

把if条件换成

if(D.parentElement().document && D.parentElement().document!=B)

找到

B.open("GET",A,false);

添加下面红色部分

B.open("GET",A,false);

try {

B.responseType = "msxml-document";

} catch(e) {}

B.send(null);

清理浏览器缓存,看看是否已经解决了。

解决FCKEditor在IE9,IE10弹出窗口的bug

在上面的文章中,fckeditor的显示和文章的编辑已经没有问题了,可是当点击上传图片的按钮会发现还是会出现问题。

原因是fckeditor在ie9以上的版本中不支持$=document.getElementById这种写法

解决方法可以这么来做:
打开这个文件,
fckeditor/editor/js/fckeditorcode_ie.js ,

找到这个方法:

FCKTools.RegisterDollarFunction

将原来的

FCKTools.RegisterDollarFunction=function(A){A.$=A.document.getElementById;};

修改方法为:
FCKTools.RegisterDollarFunction=function(A){A.$=function(v){return A.document.getElementById(v);}};

上面的几种方法很容易就解决了,不过由于fckeditor版本的多样化,小编为大家整理的方法,总能有些帮助。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章