Как выбрать узел в диапазоне с браузерами webkit?

В настоящее время я работаю над решением WYSIWYG, и мне нужна функция для правильного выбора диапазона с узлом (под этим я подразумеваю сам узел, а не только его содержимое)

У DOM lvl2 явно есть функция для этогоw3.org/ranges и определить, что

range.selectNodeContents() // Select the contents within a node
а также
range.selectNode() //Select a node and its contents

Проблема в том, что когда selectNode () прекрасно работает с Firefox или даже ie9, кажется, что это невозможно сделать с помощью любого браузера Webkit (наконец, Chrome и Safari). В Webkit и selectNodeContents (), и selectNode () выбирают только содержимое узла (что в соответствии со спецификациями мне кажется ошибкой)

Чтобы это работало, я попытался эмулировать цель selectNode (), используя
range.setStartBefore(node);<br> range.setEndAfter(node);
но результат все тот же, он работает везде (например, & gt; 8), но не в браузерах webkit.

Если вы хотите попробовать это, я сделал маленький jsfiddle, с которым вы можете игратьВот (просто откройте консоль и посмотрите на результат console.warn, который отличается от webkit: /)

Я много искал, но не могу найти способ фактически выбрать полный узел в браузерах webkit. Чудом ли кто-нибудь из вас знает способ сделать это или хотя бы какой-нибудь совет, чтобы продолжить мой квест? : /

ps: я знаю "rangy" lib, но я не могу использовать его в своем проекте, и из того, что я прочитал в источнике, я даже не уверен, что они все равно имеют дело с этим: /

Ответы на вопрос(1)

Ваш ответ на вопрос