我想在 CKEditor 中选择一个特定的文本。我使用了以下内容:
var sel = editor.getSelection();
var element = sel.root;
console.log(element);
sel.selectElement(element);
var findString = 'foobar';
var ranges = editor.getSelection().getRanges();
var startIndex = element.getHtml().indexOf(findString);
if (startIndex != -1) {
ranges[0].setStart(element.getFirst(), startIndex);
console.log(element.getFirst() +" - "+ startIndex);
console.log(element.getFirst() +" - "+ startIndex + findString.length);
ranges[0].setEnd(element.getFirst(), startIndex + findString.length);
sel.selectRanges([ranges[0]]);
}
如果它是没有换行符的纯文本,它可以正常工作。如果我要选择的文本在第二行之后或已格式化,则会出现以下错误:
未捕获的错误:IndexSizeError:DOM 异常 1
出了什么问题?