Intereting Posts
JQuery Autocomplete Где результаты являются ссылками Могу ли я остановить текстовые поля шириной 100% от расширения их контейнеров? Риск использования contentEditable в IE Iframe крадет события мыши Разделить строку в 5 столбцах в Bootstrap 4? Мой javascript не будет работать так, как должен Скрыть элементы за прозрачным DIV, но не фон Несогласованный запас между элементами гибкости в последней строке Я хочу добавить границу к моей кнопке при наведении курсора, не перемещая кнопку или что-нибудь Как отправить письмо с помощью JavaScript без открытия почтового клиента? Поле со списком исчезает, когда приходит предупреждение Как запретить преобразовывать номера телефонов в ссылки Skype? BEM и макет Rich Texts Как я могу сделать элемент из нижнего контекста стекирования перед другим более высоким контекстом стекирования? Как я могу улучшить контраст на полосатой таблице зебры

CKEditor ReadOnly

У меня возникла проблема, так как я использую CKEditor ( http://ckeditor.com/ ). Проблема в том, что я не могу найти способ сделать редактор ReadOnly, и я не могу просто использовать текстовое поле, так как хочу сохранить последовательность. Я уже видел такие вопросы в StackOwerflow, но никто из них не работает или слишком стар.

До сих пор мой код предназначен только для отображения / инициализации редактора:

$(document).ready(function(){ CKEDITOR.replace( 'ckeditor', { on: { // Check for availability of corresponding plugins. pluginsLoaded: function( evt ) { var doc = CKEDITOR.document, ed = evt.editor; if ( !ed.getCommand( 'bold' ) ) doc.getById( 'exec-bold' ).hide(); if ( !ed.getCommand( 'link' ) ) doc.getById( 'exec-link' ).hide(); } } }); }); 

Я использую новейшую версию CKEditor (v.4.1.1 Полный пакет)

Заранее спасибо! 🙂

В документации readOnly вы можете настроить конфиг только для чтения

 config.readOnly = true; 

Существует также пример , показывающий установку его с помощью метода

 editor.setReadOnly( true); 

попробуйте со следующими строками,

     

вы пробовали это ?

они говорят, что это должно работать

 var editor; // The instanceReady event is fired, when an instance of CKEditor has finished // its initialization. CKEDITOR.on( 'instanceReady', function( ev ) { editor = ev.editor; // Show this "on" button. document.getElementById( 'readOnlyOn' ).style.display = ''; // Event fired when the readOnly property changes. editor.on( 'readOnly', function() { document.getElementById( 'readOnlyOn' ).style.display = this.readOnly ? 'none' : ''; document.getElementById( 'readOnlyOff' ).style.display = this.readOnly ? '' : 'none'; }); }); function toggleReadOnly( isReadOnly ) { // Change the read-only state of the editor. // http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.editor.html#setReadOnly editor.setReadOnly( isReadOnly ); } 

и html

 

Проверьте это. Идея заключается в том, что если пользователь регистрируется в системе с classификацией, отличной от «BPPA», редактор CK должен быть отключен и доступен только для чтения. Если classификация пользователя – BPPA, редактор CK можно редактировать. Обратите внимание, что эти дробные части кода на самом деле находятся в PHP. Им нужна рабочая firebase database для работы, но я подумал, что вы можете получить эту идею и уметь работать со своей магией.

 < ?php //This line is to disable PART A if classification != 'BPPA' $bppa = mysql_query("SELECT * from roles WHERE username = '$_SESSION[username]'"); $bppa_row = mysql_fetch_array($bppa); if($bppa_row['classification'] != 'BPPA'){ $disabled = 'disabled = "disabled"'; }else{ $disabled = ""; } //ends here ?> 

Затем примените $ disable к вашей текстовой области:

 < ?php echo '