CKEditor 4.4.7 不显示在任何移动浏览器上
CKEditor 4.4.7 does not show up on any mobile browsers
我正在为工作创建一个内部 CMS,重要的是所有页面都适合移动设备。当您查看从 phone 安装了 CKEditor 4.4.7 的页面时,编辑器显示为普通文本区域,并且 HTML 的 none 或其中的文本格式正确。
我可以使用 phone 的浏览器请求桌面版本,有时这会起作用。在不同的 phone 中,它似乎很碰运气。我不认为它与启用 JavaScript.
有任何关系
抱歉缺少技术细节 - 有没有人以前有过这方面的经验?
谢谢。
编辑 ---
找到了。我目前正在通过创建一个普通文本区域然后添加此 javascript 来调用编辑器,它会在给定 ID 的情况下替换它:
<script type="text/javascript">
$( document ).ready( function() {
$( 'textarea#SomeIDHere' ).ckeditor();
} );
</script>
好吧,经过一些广泛的挖掘,我发现您可以自动调用它加载到 "Compatible" 中的任何浏览器,即使它不一定安全或真实,只需添加更改代码即可:
<script type="text/javascript">
CKEDITOR.env.isCompatible = true;
$( document ).ready( function() {
$( 'textarea#SomeIDHere' ).ckeditor();
} );
</script>
我对此进行了编辑,以防万一有人遇到同样的问题。虽然不确定如何关闭问题。我太新太笨了。
一般来说,CKEditor 与 Android 上的 iOS 和 Chrome 兼容。如果它没有出现在这些环境中,这通常是环境检测机制被浏览器用户代理字符串误导的问题。
直到版本 4.4.7(实际上是 4.4.8,但是这个版本还没有发布)CKEditor 只在白名单环境中加载(在 env.js
文件中定义)。最初的目的是阻止 CKEditor 出现在不支持它的环境中。但是,浏览器检测机制并不完善,尤其是在浏览器供应商倾向于欺骗用户代理字符串的移动设备上,导致您描述的问题。
但是,您可以通过将 CKEDITOR.env.isCompatible 标志更改为 true
来启用 CKEditor 不受支持的环境(风险自负),这会导致 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;
您可以在 Enabling CKEditor in Unsupported Environments 文章中阅读更多相关信息。
重要说明:此机制即将在 CKEditor 4.5 中更改,下一个主要版本即将发布。工单 #13316 将 CKEDITOR.env.isCompatible
从白名单更改为黑名单,这有望帮助解决此类问题。
此处为您提供的解决方案只需要将您的 ckeditor.js 文件更改或更新为最新的 ckeditor.js 文件
here link of latest ckeditor.js
此处截图
我正在为工作创建一个内部 CMS,重要的是所有页面都适合移动设备。当您查看从 phone 安装了 CKEditor 4.4.7 的页面时,编辑器显示为普通文本区域,并且 HTML 的 none 或其中的文本格式正确。
我可以使用 phone 的浏览器请求桌面版本,有时这会起作用。在不同的 phone 中,它似乎很碰运气。我不认为它与启用 JavaScript.
有任何关系抱歉缺少技术细节 - 有没有人以前有过这方面的经验?
谢谢。
编辑 ---
找到了。我目前正在通过创建一个普通文本区域然后添加此 javascript 来调用编辑器,它会在给定 ID 的情况下替换它:
<script type="text/javascript">
$( document ).ready( function() {
$( 'textarea#SomeIDHere' ).ckeditor();
} );
</script>
好吧,经过一些广泛的挖掘,我发现您可以自动调用它加载到 "Compatible" 中的任何浏览器,即使它不一定安全或真实,只需添加更改代码即可:
<script type="text/javascript">
CKEDITOR.env.isCompatible = true;
$( document ).ready( function() {
$( 'textarea#SomeIDHere' ).ckeditor();
} );
</script>
我对此进行了编辑,以防万一有人遇到同样的问题。虽然不确定如何关闭问题。我太新太笨了。
一般来说,CKEditor 与 Android 上的 iOS 和 Chrome 兼容。如果它没有出现在这些环境中,这通常是环境检测机制被浏览器用户代理字符串误导的问题。
直到版本 4.4.7(实际上是 4.4.8,但是这个版本还没有发布)CKEditor 只在白名单环境中加载(在 env.js
文件中定义)。最初的目的是阻止 CKEditor 出现在不支持它的环境中。但是,浏览器检测机制并不完善,尤其是在浏览器供应商倾向于欺骗用户代理字符串的移动设备上,导致您描述的问题。
但是,您可以通过将 CKEDITOR.env.isCompatible 标志更改为 true
来启用 CKEditor 不受支持的环境(风险自负),这会导致 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;
您可以在 Enabling CKEditor in Unsupported Environments 文章中阅读更多相关信息。
重要说明:此机制即将在 CKEditor 4.5 中更改,下一个主要版本即将发布。工单 #13316 将 CKEDITOR.env.isCompatible
从白名单更改为黑名单,这有望帮助解决此类问题。
此处为您提供的解决方案只需要将您的 ckeditor.js 文件更改或更新为最新的 ckeditor.js 文件
here link of latest ckeditor.js
此处截图