Javascript Selection.addRange()已弃用-如何解决错误

Javascript Selection.addRange()已弃用-如何解决错误,javascript,jquery,twitter-bootstrap,range,Javascript,Jquery,Twitter Bootstrap,Range,寻找网络使我陷入困境 但这有点太宽泛了。我得到这个错误是因为我在我的项目中包含了一些引导。现在对我来说,“范围”是指[从A到Z]或[从开始到结束] 阅读上面的帖子告诉我解决这个问题的诀窍是调用removeAllRanges()在添加范围(..)之前但是读取删除所有范围让我建议可以添加几个范围或值 我试图添加removeAllRanges()之间,它给我带来了更多的错误,因为如果我添加一个范围(开始),我必须添加第二个范围(结束) 实际上,它不是一个范围,更多的是要在addRange中设置的参数

寻找网络使我陷入困境

但这有点太宽泛了。我得到这个错误是因为我在我的项目中包含了一些引导。现在对我来说,“范围”是指[从A到Z]或[从开始到结束]

阅读上面的帖子告诉我解决这个问题的诀窍是调用
removeAllRanges()在<代码>添加范围(..)之前但是读取删除所有范围让我建议可以添加几个范围或值

我试图添加
removeAllRanges()之间,它给我带来了更多的错误,因为如果我添加一个范围(开始),我必须添加第二个范围(结束)

实际上,它不是一个范围,更多的是要在
addRange
中设置的参数

下面是一些引导程序生成的文件中导致问题的代码

(function() {
    var iframe = document.createElement("iframe");
    body.appendChild(iframe);

    var iframeDoc = dom.getIframeDocument(iframe);
    iframeDoc.open();
    iframeDoc.write("<html><head></head><body>12</body></html>");
    iframeDoc.close();

    var sel = dom.getIframeWindow(iframe).getSelection();
    var docEl = iframeDoc.documentElement;
    var iframeBody = docEl.lastChild, textNode = iframeBody.firstChild;

    // Test whether the native selection will allow a collapsed selection within a non-editable element
    var r1 = iframeDoc.createRange();
    r1.setStart(textNode, 1);
    r1.collapse(true);
    sel.addRange(r1);
    collapsedNonEditableSelectionsSupported = (sel.rangeCount == 1);
    sel.removeAllRanges();

    // Test whether the native selection is capable of supporting multiple ranges
    var r2 = r1.cloneRange();
    r1.setStart(textNode, 0);
    r2.setEnd(textNode, 2);
    sel.addRange(r1);
    sel.addRange(r2);

    selectionSupportsMultipleRanges = (sel.rangeCount == 2);

    // Clean up
    r1.detach();
    r2.detach();

    body.removeChild(iframe);
})();
工作

我怎样才能解决这个问题


有没有办法只添加一个开始参数而添加一个实际范围?

如果您想要一个范围(从开始到结束),可以执行以下操作:

let range = document.createRange()
range.setStart(r1);
range.setEnd(r2);
let range2 ....


let sel = window.getSelection()
selection.removeAllRanges();
selection.addRange(range);
selection.addRange(range2);
....
我会看看这里:

有关范围的详细信息


希望这能回答你的问题(即使时间很晚)。

如果你想拥有一个范围(从开始到结束),你可以做如下操作:

let range = document.createRange()
range.setStart(r1);
range.setEnd(r2);
let range2 ....


let sel = window.getSelection()
selection.removeAllRanges();
selection.addRange(range);
selection.addRange(range2);
....
我会看看这里:

有关范围的详细信息


希望这能回答你的问题(即使已经晚了)。

首先,为这篇文章感到抱歉。。。读这篇文章甚至让我有点困惑,我真的不知道我表达了什么;但我想你的回答似乎是对的,有道理,所以我接受这个:)首先,为这个帖子感到抱歉。。。读这篇文章甚至让我有点困惑,我真的不知道我表达了什么;但我想你的回答似乎是对的,有道理,所以我接受这个:)
let range = document.createRange()
range.setStart(r1);
range.setEnd(r2);
let range2 ....


let sel = window.getSelection()
selection.removeAllRanges();
selection.addRange(range);
selection.addRange(range2);
....