2010-04-16 5 views
7

Я хотел бы создать ту же функцию, которую tumblr имеет для загрузки изображений, а затем вставляя их непосредственно в редактор WYSIWYG.Загрузите изображение и вставьте непосредственно в CKEditor

Я планировал использовать uploadify для загрузки изображения, тогда я не уверен в методе вставки в CKEditor.

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

Upload an image and directly insert it into a text area http://www.freeimagehosting.net/uploads/06217dcebb.png

Спасибо заранее,

Tim

ответ

13
CKEDITOR.instances['instanceName'].insertHtml('<img src="your image">'); 
+0

Я использую последнюю версию CKEditor и получить: CKEDITOR.instances.myinstanceName.insertHTML не является функцией – Jorre

+1

моя вина, новая функция insertHtml (часы шапки!). Это вставляет html-тег в виде текста, возможно ли сделать изображение в CKEditor? – Jorre

+0

исправлено, что ... вы должны использовать реальные html-теги, а не < и > символы. Спасибо за вашу помощь! – Jorre

-1

Я использую хороший плагин для CKEditor http://www.ckuploader.com

+1

Я просмотрел FAQ для «Плагина Uploader для CKEditor» [link] (http://www.ckuploader.com/faq), и он говорит, что «Uploader требует HTTP-сервер с поддержкой PHP5 (язык кодирования)». Это может быть ограничивающим фактором. – Purplejacket

+0

Он также требует mootools. Я ищу https://github.com/blueimp/jQuery-File-Upload – Purplejacket

+0

Ссылка не работает. – BraveNinja

11

Correct является:

CKEDITOR.instances['instanceName'].insertHtml('<img src="your image"/>'); 
+2

+1 для закрытия тега img –

0

Я использую dropzone как загрузчик изображений. Я добавил кнопку под каждым изображением, чтобы при щелчке изображение было вставлено в позицию курсора в CKEditor. Пожалуйста, смотрите пример ниже:

myDropzone.on("addedfile", function(file) { 
    // Hookup image insert button 
    file.previewElement.querySelector('.insert').onclick = function() { 
     var element = CKEDITOR.dom.element.createFromHtml('<img src="' + $SCRIPT_ROOT + '/api/files/' + file.id + '?filter=image"/>'); 
     CKEDITOR.instances.body.insertElement(element); 
    }; 
}); 
Смежные вопросы