Выдергивает волосы. Как мне получить позицию в каратах в текстовой области в IE 11, которая находится в режиме документа 7 (и нет, я не могу изменить режим).
Пробовали множество решений, предложенных в stackoverflow и в других местах в Интернете. Некоторые решения подошли близко, некоторые вообще не работали.
Должен работать, где бы ни находился карат, и если выделенный фрагмент выделен.
Пожалуйста, протестируйте предложенное вами решение перед тем, как опубликовать его, так как все решения, которые я пробовал, не работают.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


function getSelectedText(){
if (document.selection){// IE8 and earlier
var selection = document.selection;
var newRng = selection.createRange();
newRng.select();
newRng.innerHTML='<mark>'+newRng.text+'</mark>';
return newRng.text;
}else{// other browsers and IE9 and higher.
var range = window.getSelection().getRangeAt(0);
var selectionContents = range.extractContents();
var mrk = document.createElement("mark");
//mrk.style.color = "yellow";
mrk.appendChild(selectionContents);
range.insertNode(mrk);
return document.getSelection();
}
}
Привет, вы не предоставили никаких примеров кода того, что вы пробовали до сих пор ... предполагая, что вы пытались отладить свою разметку и код с помощью инструмента разработки f12, убедитесь, что в вашем браузере не включен просмотр carret ( f7). Я разместил образец JavaScript в поле для ответа ниже.