CKEditor: Класс или идентификатор для тела редактора

Я использую специальные функции в своей библиотеке для работы со днями/месяцем/годом ints -

int[] int_dmy( long timestamp ) // remember month is [0..11] !!!
{
  Calendar cal = new GregorianCalendar(); cal.setTimeInMillis( timestamp );
  return new int[] { 
    cal.get( Calendar.DATE ), cal.get( Calendar.MONTH ), cal.get( Calendar.YEAR )
  };
};


int[] int_dmy( Date d ) { 
 ...
}
12
задан Pekka supports GoFundMonica 15 December 2009 в 20:58
поделиться

6 ответов

Хотя эта часть API не была перенесена из 2. x в то время, когда был задан этот вопрос, сейчас проще использовать опции конфигурации bodyId и bodyClass.

Конечно, объяснение nemisj хорошо и может быть полезно для других вещей, но вы должны помнить, что каждый раз, когда вы переключаетесь с дизайна (на исходный вид), iframe уничтожается, поэтому вам нужно будет переназначить ваши атрибуты, если вы делаете это вручную.

13
ответ дан 2 December 2019 в 05:15
поделиться

Don't know that editor, but as they all work the same way, you probably can't access the DOM elements created by the instance because they are created after the page has finished loading, and the DOM is ready as well. So, any new DOM elements added after that, theorically will not exist.

Still, you can try TinyMCE editor, wich has a "partnership" with jQuery javascript library to manipulate all you want, and the editor itself is pretty easy to change in almost every way.

0
ответ дан 2 December 2019 в 05:15
поделиться

Если вы говорите о CKEditor (версия 3), то есть возможность получить любой экземпляр DOM внутри самого редактора. Каждый экземпляр CKEditor имеет ссылку на свой документ через свойство «документ».

var documentWrapper = edit.document; 

Эта ссылка представляет собой некую общедоступную оболочку для всех узлов CKEditor, но также имеет прямую ссылку на свой узел. Вы можете получить, получив свойство ["$"].

var documentNode = documentWrapper.$; // or documentWrapper['$'] ;

documentNode будет представлять экземпляр DOM узла документа внутри iframe. После того, как у вас есть экземпляр DOM, вы можете делать все, что хотите, со структурой DOM, добавлять, удалять, заменять классы, перестраивать и т. Д. Например,

documentNode.body.className = "zork";

Я надеюсь, что этого будет достаточно.

11
ответ дан 2 December 2019 в 05:15
поделиться

Из руководства :

{String | Array} CKEDITOR.config.contentsCss

Файлы CSS, которые будут использоваться для применения стиля к содержимому. Он должен отражать CSS, используемый на последних страницах, где будет использоваться содержимое.

config.contentsCss = '/css/mysitestyles.css';
config.contentsCss = ['/css/mysitestyles.css', '/css/anotherfile.css'];

Значение по умолчанию:

<папка CKEditor> /contents.css

2
ответ дан 2 December 2019 в 05:15
поделиться

Ваши запросы могут возвращать значение undefined, поскольку экземпляры редактора размещены внутри iFrame, и ваш запрос там не просматривается?

0
ответ дан 2 December 2019 в 05:15
поделиться

Сегодня у меня была такая же проблема, когда я пытался установить bodyClass следующим образом:

CKEDITOR.replace ('editor1', { fullPage: правда, bodyClass: 'myClass'

});

Я обнаружил, что в этой версии (3.3.1), если вы установите fullpage = true, установка bodyId или bodyClass не будет работать, но если вы установите fullPage = ложь, это работает.

Надеюсь, это поможет.

3
ответ дан 2 December 2019 в 05:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: