1
我一直在探索stackoverflow和其他地方的衆多解決方案,試圖讓ckeditor 4在使用CKEditor的InsertHtml函數以編程方式向其添加若干頁面後滾動到頂部。添加我的html後,看起來很好,我想將光標定位在開頭。不能將ckeditor 4選項移動到開頭
下面是我沒有成功嘗試各種事情之一:
function MoveCaretToStart(myEditor) {
var range = new CKEDITOR.dom.range(editor.document);
range.selectNodeContents(editor.document.getBody());
range.moveToElementEditStart(range.root); // also tried range.collapse(true);
range.select();
}
...
MoveCaretToStart(CKEDITOR.instances['myEditor']); // which already has contents in it
這不會引發任何錯誤,但也不會移動光標位置(它仍然在的結束DOC)。我認爲這個會很容易,但肯定沒有。任何幫助讚賞。
上的更新11/1: 我只是做了以下測試:創建了一個簡單的HTML頁面只是一個文本區域,取消了所有額外的插件。我顯示頁面,在編輯器中輸入文本(工作正常),然後使用JS控制檯調用MoveEditorToBeginning();沒有任何反應,控制檯迴應「未定義」。我很困難。這裏是(使用CKEDITOR 4.22)整個HTML頁面的源代碼:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="ckeditor/ckeditor.js"></script>
</head>
<body>
<textarea cols="80" id="docBody" name="docBody" tabindex="1" accesskey="d" rows="10"> </textarea>
<script type="text/javascript">
//<![CDATA[
CKEDITOR.replace('docBody',
{
removePlugins: 'elementspath,stylesheetparser,a11yhelp ,autosave,docprops,fakeobjects,find,image,link,magicline,pagebreak,pastefromword,scayt,specialchar,texttransform,wordcount,wsc',
});
//]]>
function MoveEditorCaretToBeginning() {
var theEditor = CKEDITOR.instances['docBody'];
var body = theEditor.document.getBody();
var range = new CKEDITOR.dom.range(body);
range.selectNodeContents(body);
range.collapse(true);
var selection = theEditor.getSelection();
selection.selectRanges([range]);
}
</script>
</body>
</html>
遺憾的是,並沒有爲我工作,要麼Chrome或Firefox。如果我在創建我的文檔後使用ckeditor,然後在任一瀏覽器中使用Javascript控制檯來調用我的「MoveEditorCaretToStart」函數,則ckeditor中不會發生任何事情,並且控制檯顯示來自ckeditor代碼的「未定義」消息。所以我很困惑。我應該提及,我的網頁上有兩個不同的ckeditor實例,但我看不到這會干擾。 –
@GaryHillerson,你的CKEditor版本是什麼? Mine是4.2,而且上次我檢查它的代碼是跨瀏覽器的。 – Noseratio
我使用4.22,上週剛剛下載。我只做了一個簡單的測試,我只使用一個CKEditor實例,並使用標準的config.js(而不是我的自定義版本)。我刪除了除CKEDITOR textarea以外的所有HTML,並刪除了除ckeditor之外的所有Javascript。我的代碼放置了一個空的編輯器,工作正常。我插入一大塊HTML - 無論是手動還是編程 - 然後調用「移動到開始」功能。它不起作用。 Uggh。不過,感謝您的幫助。 –