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

问题描述如下:

使用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.' );

 

上一篇: gentoo安装脚本   下一篇: 当JS进行JSON_DECODE时遇到PHP的JSON_UNESCAPED_UNICODE

提交疑问

回顶部