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)
我编辑过这个以防万一有人遇到同样的问题.不知道如何关闭这个问题.我太新又笨.
在一般情况下,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到黑名单,希望这将有助于解决这样一个问题.
| 归档时间: |
|
| 查看次数: |
3855 次 |
| 最近记录: |