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