Fire Ckeditor вставлять плагин и передать URL и обязательный параметр - PullRequest
0 голосов
/ 29 октября 2018

Я хочу вручную запустить плагин ckeditor (https://ckeditor.com/cke4/addon/embed)) для какого-либо действия. Например, URL от пользователя, использующего кнопку ввода, а затем передать этот URL плагину для встраивания, чтобы он мог встроить его в мой экземпляр ckeditor.

Я получаю некоторую справку по этой ссылке CKEditor: вызов функции плагина без кнопки панели инструментов и использование CKEDITOR.instances ['editable']. ExecCommand ('YOUR_PLUGIN_NAME_HERE'); Это откроет диалог вставки, но мне нужно запустить этот плагин. поэтому пользовательский URL-адрес будет вставлен в мой ckeditor.

Я также использую метод editor.fire ('YOUR_PLUGIN_NAME_HERE', data), но не знаю, что передавать в данные.

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

1 Ответ

0 голосов
/ 30 октября 2018

Почему бы просто не вставить правильный виджет HTML в CKEditor? Когда вы вставляете HTML, метод checkWidgets , который повторно инициализирует виджеты , запускается автоматически . Если по какой-либо причине он не работает для вас, вы можете запустить этот метод вручную.

Пример кода для вашего ввода (в зависимости от того, какой плагин вы используете) может выглядеть так:

var editor = CKEDITOR.instances.editor1;
editor.focus();

// Embed Semantic
// editor.insertHtml('<oembed>https://www.youtube.com/watch?v=Ue6KrclRvY8</oembed>');

// Embed
CKEDITOR.instances.editor1.insertHtml('<div data-oembed-url="https://www.youtube.com/watch?v=lMNRQix_QzQ"><div style="height:0; left:0; padding-bottom:56.2493%; position:relative; width:100%"><iframe allowfullscreen="" scrolling="no" src="https://www.youtube.com/embed/lMNRQix_QzQ?rel=0&amp;showinfo=0" style="border: 0; top: 0; left: 0; width: 100%; height: 100%; position: absolute;" tabindex="-1"></iframe></div>');

// This code should only be fired in cases where inserting HTML doesn't work fire
// checkWidgets method however it should not really happen
/*setTimeout( function(){
    editor.widgets.checkWidgets();
} ,0 );*/
...