近期在做项目的过程中用到了 ckeditor 4.3, 这是一款非常不错的网页版富文本编辑器. 但是在使用过程中发现不同浏览器的兼容性问题, 在火狐、Chrome下显示正常, 但是在IE7、8、9下缺无法显示. 经过对不同浏览器下的调试, 发现最终是因为cheditor的一个样式导致. 具体请改方法请参见下图:
上图是在火狐下的调试情况, 在上图中的红色箭头指向的红色框框中, 出现了一个 cke 的样式名称. 但是在右边我们能够看到它的存在但无法定位到具体的样式文件中. 经过分析, 初步判定这不是具体样式文件中存在, 而是动态生成. 接下来就是对 ckeditor 相关 js 文件进行名称地毯式搜索, 最后终于在 ckeditor.js 文件中找到了它. 如下图所示:
由于只是抱着试试看的态度, 随即将括号内的样式文件进行清空, 就是删掉双引号内的样式文件. 重新部署并清空浏览器缓存刷新页面, 发现在IE8、9下ckeditor即正常显示. 但是IE7下目前作者也没有太多时间调试, 只能暂时放过IE7了. 如果大家有更好的解决办法, 请一起参与讨论交流.