我能够突出显示选中的 HTML 页面上的文本(通过 gtkmozembed 呈现),如下所示。
var range, sel;
if (window.getSelection) {
sel = window.getSelection();
if (sel.getRangeAt) {
range = sel.getRangeAt(0);
}
document.designMode = "on";
if (range) {
sel.removeAllRanges();
sel.addRange(range);
}
document.execCommand("HiliteColor", false, colour);
document.designMode = "off";
}
好吧,它工作得很好。现在我正在尝试存储有关突出显示文本的信息(startNode,startOffset,endNode,endOffset),并且下次打开同一页面时,突出显示相同的文本。我能够成功存储信息并在打开同一页面时检索它们。我正在尝试使用以下代码突出显示文本。
var range = document.createRange();
range.setStart(startNode, startOffset);
range.setEnd(endNode, endOffset);
document.designMode = "on";
range.execCommand("HiliteColor", false, colour);
document.designMode = "off";
但它没有像我预期的那样工作。任何人都可以帮助我达到要求吗?谢谢...