При написании плагинов для ckeditor'а, часто возникает задача: необходимо получить выделенную пользователем информацию, а в некоторых случая произвести манипуляцию с ней. Если необходим просто выделенный текст, то тут все просто. У объекта editor есть метод getSelection(), он возвращает объект, который помимо полной информации о выделенном тексте содержит еще метод getSelectedText(). В простейшем случае в плагине это бы выглядело так:

CKEDITOR.plugins.add('pluginname',{
    init: function(editor){
	alert(editor.getSelection().getSelectedText())
    }
});

Надеюсь Вам понятно, что плагин работать не будет. Это псевдокод. При инициализации плагина, никакой текст не выделен.

А как же насчет html кода,  для работы необходим именно он.

jquery liteУ Web-программистов сложилась добрая традиция - в любую даже самую простейшую страницу по дефолту  подключать jquery. Я ничего не имею против этой библиотеки. Она шикарна. Она лучшая в своем роде, и продвинула и продвигает современный web далеко вперед. Повсеместный переход сайтов на ajax также связываю с этой библиотекой.

Однако тут есть одно НО. В простейших проектах: небольшая анимация, баннеры, или любую другую логику, где не требуется работа с DOM или ajax, надобность в лишних 90кб скриптов отпадает. Особенно критично это для мобильных устройств. И дело не столько в лишних килобайтах, а в том, что такие скрипты напрасно грузят и без того занятый процессор.

Сперва я хотел написать все на vanila.js, но кросплатфоменность в среде мобильных приложений та еще головная боль, поэтому решено было выбрать легковесный аналог jquery - jQLite.

Когда нет надобности подключать jquery к странице, она весит как минимум на 90 кб меньше. Это может быть критично для мобильных версий сайтов.

Однако, с развитием 3G сетей, это не такая большая проблема. Гораздо серьезнее дела обстоят с производительностью. jQuery - это библиотека для десктопных браузеров, в ней столько кода и всяческих кроссбраузерных проверок и хаков, что любой "чих" будь то поиск элемента, или установка фокуса, вызывает бесконечную плеяду калбяков/проверок/кейсов.

И я не утрирую. Попробуйте запустить любой метод на jquery в режиме отладки нажимая кнопку вхождения в методы. Уверяю Вас, кликать Вы устанете раньше, чем выйдите наружу.

Поэтому там, где нет такой необходимости я рекомендую использовать нативный js

В этом посте я расскажу, как обернуть любой html элемент на странице в собственный блок используя только js.

По тем или иным причинам не всегда есть возможность подключить к странице jquery Тогда многие привычные вещи приходится делать руками. 

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

Эта короткая заметка из той же серии: как установить фокус на поле ввода используя только javascript

ckeditor - это великолепный wysiwyg редактор для вашего сайта. По моему скромному мнению, он лучший в своем роде, к тому же  постоянно развивается. Обилие плагинов «из под коробки», и легкость их написания также играют на руки редактору. Я сам написал несколько полезных дополнений.

Последняя 4-ая версия вообще достойна отдельной статьи. На официальном сайте можно собрать свою версию редактора, с необходимым набором плагинов.

В этой статье я расскажу, как написать свой простейший плагин вставки произвольного текста.

Будем вставлять текущую дату и время.

Подкатегории

Все о разработке на библиотеке jQuery