2015-06-11 3 views
4

Я создаю внутреннюю CMS для работы, и важно, чтобы все страницы были мобильными. Когда вы просматриваете страницу с CKEditor 4.4.7, установленную с телефона, редактор отображается как обычное текстовое поле, и ни один из HTML или текста внутри него не отформатирован должным образом.CKEditor 4.4.7 не отображается в мобильных браузерах

Я могу запросить настольную версию, используя браузер моего телефона, и иногда это будет работать. Похоже, что это очень удачный выбор для разных телефонов. Я не думаю, что это связано с включением JavaScript.

Извините за отсутствие технических подробностей - есть ли у кого-нибудь опыт с этим раньше?

Спасибо.

EDIT ---

Найдено. Я в настоящее время вызова редактора, создавая нормальную текстовую область, а затем добавить этот JavaScript, который его заменяет данным идентификатор:

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

Ну, после того, как какое-то обширное копания, я обнаружил, что вы можете автоматически вызывать любой браузер он загружен в «Совместимость», несмотря на то, что это не обязательно безопасно или верно, просто добавив изменения кода как такового:

<script type="text/javascript"> 

CKEDITOR.env.isCompatible = true; 

    $(document).ready(function() { 
    $('textarea#SomeIDHere').ckeditor(); 
}); 
    </script> 

Я редактировал это только в случае, если кто-либо приходит по этому же вопросу. Не знаю, как закрыть вопрос. Я слишком новый и немой.

ответ

6

В целом, CKEditor является, совместимым с iOS и Chrome на Android. Если он не отображается в этих средах, это чаще всего является проблемой, когда механизм обнаружения среды вводится в заблуждение строкой пользовательского агента браузера.

До версии 4.4.7 (фактически, 4.4.8, но этот еще не выпущен) CKEditor загружается только в белых сетях (как определено в файле env.js). Первоначальная цель состояла в том, чтобы блокировать появление CKEditor в средах, где он не поддерживается. Однако механизм обнаружения браузера не идеален, особенно на мобильных устройствах, где поставщики браузеров склонны обманывать строки пользовательского агента, вызывая проблемы, которые вы описали.

Вы можете, однако, включить CKEditor это неподдерживаемые среды (на свой страх и риск) путем изменения CKEDITOR.env.isCompatible флага к true, что приводит к CKEditor для загрузки во всех средах, в том числе неподдерживаемых из них. Обратите внимание, однако, что это имеет один недостаток: он не только позволяет CKEditor в современных мобильных устройствах, но и пытается загрузить его в старых версиях Internet Explorer (6 & 7), где он больше не работает (что может вызвать некоторый уровень разочарования пользователя). И, таким образом, при использовании этого решения, рекомендуется еще черный список старых ИЭ, как это:

// 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 из списка whiletlist в черный список, который, мы надеемся, поможет решить такие проблемы.

+0

Я забыл проверить назад здесь, извините. Спасибо за ваш ответ. Это определенно улучшило обходной путь, который я нашел. – TRose

0

здесь решение для вас просто нужно изменить или обновить файл ckeditor.js последнему ckeditor.JS файл

here link of latest ckeditor.js

здесь скриншот

enter image description here