後で解析できるように、選択範囲をコメントノードでラップする必要があります。
このスクリプトはCK-Editorプラグイン内で実行されていますが、その方法selection
とrange
動作はJavaScriptにネイティブであると思います。
範囲の先頭にコメントノードを挿入することはできますが、選択範囲の末尾にコメントノードを追加する方法がわかりません。
私の現在のコードは次のとおりです。
var selection = editor.getSelection();
var ranges = selection.getRanges();
var start_node = 'parsing_start';
var end_node = 'parsing_end';
var start_comment = new CKEDITOR.dom.comment(start_node);
var end_comment = new CKEDITOR.dom.comment(end_node);
ranges[0].insertNode(start_comment);
ranges[0].nextSibling().insertNode(end_comment); // how to do this???
元の選択の後に新しい空の範囲を選択するには、これを試してください。唯一の欠点は、元の選択が失われることです。
var selection = editor.getSelection();
var range = selection.getRanges()[0];
var start_node = 'parsing_start';
var end_node = 'parsing_end';
var start_comment = new CKEDITOR.dom.comment(start_node);
var end_comment = new CKEDITOR.dom.comment(end_node);
range.insertNode(start_comment);
var endNode = range.endContainer;
var endOffset = range.endOffset;
range.setStart(endNode, endOffset);
range.setEnd(endNode, endOffset);
selection.selectRanges([range]);
range.insertNode(end_comment);
editor.focus();
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加