2012-04-24 36 views
2

我有問題得到選擇的html在我的drupal項目的JavaScript中ckeditor編寫。誰能幫我嗎?如何從javascript中的CKEDITOR中獲取選定的html?

+0

可能重複的[獲取選定的文本贏得CKEditor插件](http://stackoverflow.com/questions/2385609/getting-selected-text-win-ckeditor-plugin) – ManseUK 2012-04-24 09:57:51

+1

@ManseUK:不是重複的:這個問題要求爲選定的HTML,而不是選定的文本。 – 2012-04-24 10:41:53

回答

5

CKEditor的的API不提供的正是這種,但是看着the docs它看起來好像你可以做以下的(未經測試):

function getSelectionHtml(editor) { 
    var sel = editor.getSelection(); 
    var ranges = sel.getRanges(); 
    var el = new CKEDITOR.dom.element("div"); 
    for (var i = 0, len = ranges.length; i < len; ++i) { 
     el.append(ranges[i].cloneContents()); 
    } 
    return el.getHtml(); 
} 

alert(getSelectionHtml(editor)); 

CKEditor的也有HTML解析和序列化的API,我不知道很多,所以你可以使用它們來根據你的需求定製HTML,而不是使用瀏覽器的實現的原始輸出。

+0

此代碼產生此錯誤 錯誤:無法轉換的JavaScript參數arg 0 [nsIDOMHTMLDivElement.appendChild] [打破此錯誤] \t el.appendChild(範圍[I] .cloneContents()); – 2012-04-24 11:06:12

+0

由於範圍總是爲1 – 2012-04-24 11:33:52

+0

@AbubakarShams:現在應該修復。 – 2012-04-24 12:01:46

相關問題