Richtext/CK 编辑器无法处理 Android

Richtext/CK editor is not working on Android

我最近注意到 xpages 中的标准富文本编辑器无法在 Android 设备上运行。

我制作了一个带有单个富文本字段的简单 xpage。当我在 safari 上 iPhone 中查看页面时,它工作正常,在 PC 上的 chrome 中也是如此。但是,如果我查看 chrome 中的设备仿真,大多数使用 android 的设备都不会呈现 CK 编辑器。仅显示一个简单的文本区域字段。

我正在使用 9.0.1 FP2。

我需要做什么才能让 CK 编辑器在 Android 上工作?

这似乎是 CKeditor 本身的问题。它运行一些代码来根据检测到的用户代理字符串确定检测到的浏览器是否与 CKEditor 兼容。如果该代码 returns 为假,则不会加载 CKEditor。这似乎发生在任何使用 v4.4 或更高版本(包括 v5 和 v6)的 Android 设备上。他们的 tracking site 上记录了一个错误。看起来修复已交付给 CKEditor v4.5。当前 9.0.1FP5 使用 CKEditor v4.4.6,在修复之前。

在查看 之后,我实施了一个解决方法来绕过该错误。将以下脚本添加到您的 XPage 以强制加载 CKEditor,无论它检测到什么浏览器:

<script><![CDATA[
    XSP.addOnLoad(function(){
       if( typeof(CKEDITOR) !== "undefined" ){ 
           CKEDITOR.env.isCompatible = true;
       }
    });]]>
</script>

您甚至可以将其添加为 CSJS 脚本库,并将该库添加到您的主题中,以确保在您的应用程序中加载的所有 CKEditor 实例 Android。

(请注意,链接的 SO 问题建议检查以确保 CKEditor 在 IE7 及更早版本上保持禁用状态)。