发布于2026-07-22 阅读(0)
扫一扫,手机访问
升级到IE9之后,不少用FCKeditor的同学都会遇到一个头疼的问题:编辑器里的弹出浮动层罢工了,内容根本出不来。无论是想粘贴内容、上传图片,还是其他需要弹出窗口的操作,统统失效,只能刷新页面重新来。根源其实很简单——IE9不再支持var $=document.getElementById;这种写法了。
针对这个兼容性问题,目前有两种比较直接的处理方式,可以根据你的实际需求来选。
第一种方法:让IE9模拟IE8运行
在页面头部加上一个meta标签,强制IE9以IE8模式渲染。这样FCKeditor的弹出层就能正常工作了。代码如下:
这种方法简单粗暴,但代价是整个页面都按照IE8的标准来跑,如果你有其他希望利用IE9新特性的功能,可能会受影响。
第二种方法:直接修改FCKeditor的JS文件
如果你不想改变浏览器的渲染模式,更推荐动刀改一下FCKeditor的核心代码。找到下面这个文件:
fckeditor/editor/js/fckeditorcode_ie.js
打开后,定位到第38行附近,有一个叫FCKTools.RegisterDollarFunction的方法。原代码是这样的:
FCKTools.RegisterDollarFunction=function(A){A.$=A.document.getElementById;};
把它改成下面这样,就能让IE9兼容了:
FCKTools.RegisterDollarFunction=function(A){A.$=function(v){return A.document.getElementById(v);};};
改完之后,保存文件,刷新页面,弹出层应该就能正常工作了。两种方法都可以,看你更倾向于哪种策略。如果项目里还有其他兼容性问题,推荐先试第二种,毕竟不改浏览器行为,更干净一些。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8