Обновите CSS CKEditor через JavaScript после того, как экземпляр уже создан - PullRequest
0 голосов
/ 02 февраля 2012

Я создаю экземпляр CKEditor следующим образом:

include 'ckeditor/ckeditor.php';
$CKeditor = new CKeditor();
$CKeditor->basePath = './ckeditor/';
$config = array();
echo '<textarea name="content" id="content"></textarea>';
$config['contentsCss'] = 'style1.css';
$config['ImageUpload'] = false;
$config['toolbar'] = 'Basic';
$events = array();
$CKeditor->replace('content', $config, $events);

Теперь я хотел бы изменить некоторые детали конфигурации (например, "contentsCss") через JavaScript, когда этот экземпляр уже создан.Возможно ли это?

Моя идея заключалась в следующем (что, к сожалению, не работает):

<a href="#" onclick="CKEDITOR.instances.content.config.toolbar = 'Full'; return false;">change toolbar style</a>

Ответы [ 2 ]

3 голосов
/ 02 февраля 2012

Перепробовал много разных вещей и в итоге получил:

<script type="text/javascript">
function updateCKEditor() {
    var editor = CKEDITOR.instances.content;
    if (editor) {
        editor.destroy(true);
    }
    var newConfig = { skin : XYZ, toolbar : 'Basic', contentsCss : '' };
    CKEDITOR.replace('content', newConfig);
}
</script>
1 голос
/ 03 февраля 2012

Вы можете использовать что-то вроде этого:

CKEDITOR.instances.yourEditorsId.window.$.document.getElementsByTagName("link")[0].href = 'new/path/style.css';

Где вашEeditorsId, как вы уже догадались, идентификатор вашего редактора, а 0 - индекс вашей таблицы стилей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...