Как работает CKEditor?
Есть такой вот редактор CKEditor. Создатели говорят, что это самая лучшая вусивуга.
http://ckeditor.com/ Наверняка, многие с ней работали. Так вот. Там фишка в том, что этот редактор разбит на множество файлов и директорий (например, в корне лежат папки lang, plugins, samples, skins, config.js и еще) НО, на саму хтмл-страницу подключать надо только 1 файл!!! ckeditor.js из корня (что-то типа <script src="ckeditor/ckeditor.js"></script>будет). Как такое возможно? Почему оно работает? Ведь в js нету include (require) функций, способных подключать 1 js-файл внутрь другого js-файл. Почему мы на хтмл-страницу подключаем всего 1 скрипт, а он, каким-то образом инклюдит в себя кучу других файлов? Тот же jQuery, к примеру, там все одним файлом идёт... |
Может
document.write('<script src="Script.js"\><\/script>'); ![]() |
Да, похоже на то.
Но в этом редакторе весь функционал, насколько я понял, вынесен в папку plugins, а подключение чего-либо из этой папки я не нашел на странице с редактором... Как такое возможно? |
ololosh, возможно он подгружает iframe и в него загружает скрипты с плагинами.
|
Но он загружает всего 1 iframe на страницу и в нём нету ни одного тега скрипт. Во всяком случае, я не нашёл (фаербагом смотрел).
|
ololosh, может эти плагины вообще не грузятся? Или нужно что-нибудь нажать, чтобы загрузило их.
|
Цитата:
Может айфрейм? |
Цитата:
|
Ладно не буду издеваться.
Тебя научить скрипты скриптом инклюдить или што? или мож ивалить научить? |
ololosh,
Ckeditor подгружает скрипты следующим способом: var script = document.createElement( 'script' ); script.type = 'text/javascript'; script.src = scriptSrc; ... document.body.appendChild( script ); В некоторых случаях ставляет в head: document.getElementsByTagName( 'head' )[0].appendChild( script ); Все плагины, которые нужно подгрузить(или наоборот не нужно) - указаны в настройках. CKEditor.defaults = { removePlugins: 'elementspath', extraPlugins: 'onchange' };Все можно посмотреть в исходниках :). |
Часовой пояс GMT +3, время: 13:04. |