范围选择不适用于 Microsoft Edge

Rangy selection not working on Microsoft Edge

下面的代码片段适用于除 Microsoft Edge 之外的所有浏览器。

$rootScope.highlights = $window.rangy.createHighlighter();
$rootScope.highlights.addClassApplier($window.rangy.createClassApplier('commented-text'));
$rootScope.highlights.highlightSelection('commented-text');
$window.getSelection().collapseToStart();

我们需要为 Edge 特别添加什么吗?

经过大量研究,得出 rangy.createHighlighter() 不带任何参数的解决方案不适用于 Edge。

您需要指定 "TextRange" 附加参数(见下文)。

默认为"textContent"。

$rootScope.highlights = rangy.createHighlighter(window.document, "TextRange");

参考:https://github.com/timdown/rangy/wiki/Highlighter-Module

githubhttps://github.com/timdown/rangy/issues/368 范围内有一个未解决的问题,其中提出了某种可能的解决方案。

Commenting out the method on line 2277 of rangy-core.js

也许这对您也有帮助?