选择节点到光标位置。它适用于所有浏览器,但不适用于Microsoft Edge。没有脚本错误。但是Edge没有选择节点/文本吗?
var selection = frames[1].getSelection();
node = selection.anchorNode;
node = node.parentNode;
if(node) {
var range = document.createRange();
range.selectNodeContents(node);
frames[1].getSelection().addRange(range);
}
答案 0 :(得分:2)
我在Edge中遇到类似的问题,解决方法是在添加新范围之前删除所有范围。
...
selection.removeAllRanges();
selection.addRange(range);
答案 1 :(得分:0)
我遇到了同样的问题。看起来Edge的Range.toString()
实现无法正常工作。因此,在第2277行(rangy-core.js)上注释掉该方法已经解决了这个问题:
//rangeProto.toString = function() {
// return this.nativeRange.toString();
//};
此后,Rangy将使用自己的toString
。
问题#368已针对此问题打开。
干杯!