如何在沒有工具欄按鈕的情況下調用插件函數?CKEditor:調用沒有工具欄按鈕的插件函數
我有一個集成在我的cms中的外部浮動工具欄。我使用CKEditor的InsertHTML()API插入圖像,視頻和其他靜態代碼片段。
現在我需要插入來自URL的視頻,並且還有一個夢幻般的插件。如何在沒有工具欄按鈕的情況下使用我的cms中的按鈕來激活該插件?
我加載在我的配置插件,我嘗試創建此功能:
function oembed() {
// Get the editor instance that we want to interact with.
var editor = CKEDITOR.instances.editor1;
var url = 'http://www.youtube.com/watch?v=AQmbsmT12SE'
var wrapperHtml = jQuery('<div />').append(editor.config.oembed_WrapperClass != null ? '<div class="' + editor.config.oembed_WrapperClass + '" />' : '<div />');
// Check the active editing mode.
if (editor.mode == 'wysiwyg')
{
// Insert HTML code.
// http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-insertHtml
editor.embedCode(url, editor, false, wrapperHtml, 650, 400, false);
}
else
alert('You must be in WYSIWYG mode!');
}
結果是這樣的:
遺漏的類型錯誤:對象的翻譯:有沒有方法'embedCode'
有沒有什麼辦法可以像「InsertHTML」一樣創建一個新的API來調用沒有工具欄按鈕的插件功能?
編輯
也許我可以用createFakeElement API。
http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-createFakeElement
我的類fakegallery添加到我的文檔。
我用這個代碼,但沒有任何反應:
function Fake()
{
var editor = CKEDITOR.instances.editor1;
var element = CKEDITOR.dom.element.createFromHtml('<div class="bold"><b>Example</b></div>');
alert(element.getOuterHtml());
editor.createFakeElement(element, 'fakegallery', 'div', false);
}
我嘗試,但它看起來像編輯器不能處理插件內的功能! –
試試CKEDITOR.instances [「YourEditor」]。fire('MediaEmbed'); 這應該至少激發對話.. – spons
我已經看了代碼..它非常簡單。創建您的嵌入標籤的HTML ..並使用我發佈在我的帖子「編輯」中的代碼。 – spons