我最近注意到xpages中的标准richtext编辑器无法在Android设备上运行。
我创建了一个带有单个richtext字段的简单xpage。当我在iPhone上查看Safari中的页面时,它可以正常工作,也可以在Pc上使用chrome。但是,如果我在chrome中查看设备仿真,大多数使用android的设备都不会渲染CK编辑器。只显示一个简单的文本区域字段。
我使用的是9.0.1 FP2。
我需要做些什么才能让CK编辑器在Android上运行?
答案 0 :(得分:12)
这似乎是CKeditor本身的一个问题。它运行一些代码以根据检测到的用户代理字符串确定检测到的浏览器是否与CKEditor兼容。如果该代码返回false,则不加载CKEditor。这似乎适用于使用v4.4
或更高版本(包括v5和v6)的任何Android设备。他们tracking site上记录了一个错误。看起来修复已发送到CKEditor v4.5
。目前9.0.1FP5
使用CKEditor v4.4.6
,然后才会修复此修复程序。
在查看this SQ question后,我实施了一种解决方法来解决这个问题。将以下脚本添加到XPage以强制CKEditor加载,无论它检测到什么浏览器:
<script><![CDATA[
XSP.addOnLoad(function(){
if( typeof(CKEDITOR) !== "undefined" ){
CKEDITOR.env.isCompatible = true;
}
});]]>
</script>
您甚至可以将其添加为CSJS脚本库,并将该库添加到您的主题中,以确保整个应用中的所有CKEditor实例都在Android上加载。
(请注意,链接的SO问题建议检查以确保CKEditor在IE7及更早版本上保持禁用状态。)