CKEditor 4.4.7不会出现在任何移动浏览器上

TRo*_*ose 5 iphone mobile android ckeditor ckeditor4.x

我正在为工作创建一个内部CMS,所有页面都适合移动设备非常重要.当您从手机查看安装了CKEditor 4.4.7的页面时,编辑器显示为普通文本区域,并且其中的HTML或文本都没有正确格式化.

我可以使用我的手机浏览器请求桌面版,有时这会起作用.在不同的手机上看起来相当不错.我不相信它与启用JavaScript有任何关系.

很抱歉缺乏技术细节 - 有没有人有过这方面的经验?

谢谢.

编辑---

找到了.我正在通过创建一个普通的文本区域来调用编辑器,然后添加这个javascript,它取代了给定的ID:

  <script type="text/javascript">    
    $( document ).ready( function() {
  $( 'textarea#SomeIDHere' ).ckeditor();
} );
  </script>
Run Code Online (Sandbox Code Playgroud)

好吧,经过一番广泛的挖掘,我发现你可以自动调用加载到"兼容"的任何浏览器,即使它不一定安全或真实,只需添加更改代码:

  <script type="text/javascript">   

 CKEDITOR.env.isCompatible = true; 

    $( document ).ready( function() {
  $( 'textarea#SomeIDHere' ).ckeditor();
} );
  </script>
Run Code Online (Sandbox Code Playgroud)

我编辑过这个以防万一有人遇到同样的问题.不知道如何关闭这个问题.我太新又笨.

Ann*_*nek 7

在一般情况下,CKEditor的与iOS和Android版Chrome兼容.如果它没有出现在这些环境中,这通常是浏览器用户代理字符串误导环境检测机制的问题.

直到版本4.4.7(实际上,4.4.8,但尚未发布此版本)CKEditor仅加载在白名单环境中(如env.js文件中所定义).最初的目的是阻止CKEditor出现在不受支持的环境中.但是,浏览器检测机制并不完美,特别是在浏览器供应商倾向于欺骗用户代理字符串的移动设备上,导致您描述的问题.

但是,您可以通过将CKEDITOR.env.isCompatible标志更改为启用CKEditor是不受支持的环境(风险自负)true,这会导致CKEditor在所有环境中加载,包括不受支持的环境.但请注意,这有一个缺点:它不仅在现代移动设备中启用CKEditor,而且还尝试在旧的Internet Explorer版本(6和7)中加载它不再有效(这可能会导致某种程度的用户挫败感).因此,在使用此解决方案时,建议仍然将旧的IE列入黑名单,如下所示:

// Enable CKEditor in all environments except IE7 and below.
if ( !CKEDITOR.env.ie || CKEDITOR.env.version > 7 )
   CKEDITOR.env.isCompatible = true;
Run Code Online (Sandbox Code Playgroud)

您可以在"不支持的环境中启用CKEditor"一文中阅读有关它的更多信息.

一个重要的注意事项:这个机制即将在CKEditor 4.5中发生变化,CKEditor 4.5是即将到期的下一个主要版本.票务#13316变化CKEDITOR.env.isCompatible从whiletlist到黑名单,希望这将有助于解决这样一个问题.