IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    ckeditor 在不兼容的浏览器UserAgent下不会加载

    linuxphp@qq.com(keminar)发表于 2014-06-14 00:01:00
    love 0
    贵贵的博客 ( http://blog.linuxphp.org/ ) :

    问题描述如下:

    使用ckeditor的Replace 模式加载编辑器在个别电脑总是显示不出来,而且什么错误也不会报。开始以为是代码兼容问题,各种试然后通过客户端各种排查,后来从服务器nginx的访问日志中看有没有请求,但除了用户UA没有别的不同。但UA似乎不应该是问题原因。通过拿官网的示例来测试,发现在使用jquery的加载方式时报错了,顿时欢喜,根据提示找到相关代码

    		env.isCompatible =
    
    			// White list of mobile devices that CKEditor supports.
    
    			env.iOS && version >= 534 ||
    
    			!env.mobile && (
    
    				( env.ie && version > 6 ) ||
    
    				( env.gecko && version >= 20000 ) ||
    
    				( env.air && version >= 1 ) ||
    
    				( env.webkit && version >= 522 ) ||
    
    				false
    
    			);

    似乎真的会和UA有关,去掉浏览器的自定义UA,访问正常了。如下图为问题复现,话说回来,在非PC下不显示编辑框是对,不过是不是也给个提示呢?

    所以在使用replace模式时也加一个判断,这样就容易发现问题了。

    if ( !CKEDITOR.env.isCompatible )
                throw new Error( 'The environment is incompatible.' );
    



沪ICP备19023445号-2号
友情链接