Jak wybrać węzeł z zakresu z przeglądarkami webkit?

Obecnie pracuję nad rozwiązaniem WYSIWYG i potrzebuję funkcji, aby poprawnie wybrać z zakresu węzeł (mam tu na myśli sam węzeł, nie tylko jego zawartość)

DOM lvl2 wyraźnie ma do tego funkcjęw3.org/ranges i zdefiniuj to

range.selectNodeContents() // Select the contents within a node
i
range.selectNode() //Select a node and its contents

Problem polega na tym, że gdy selectNode () doskonale działa z Firefoksem, a nawet ie9, nie można go osiągnąć za pomocą żadnej przeglądarki Webkit (w końcu Chrome i Safari). W Webkit zarówno selectNodeContents (), jak i selectNode () wybierają tylko zawartość węzła (co według specyfikacji wydaje się być błędem)

Aby to działało, próbowałem emulować cel selectNode () za pomocą
range.setStartBefore(node);<br>range.setEndAfter(node);
ale wynik jest nadal taki sam, działa wszędzie (tj.> 8 oczywiście), ale nie w przeglądarkach webkit.

Jeśli chcesz tego spróbować, zrobiłem mały jsfiddle, dzięki któremu możesz graćtutaj (po prostu otwórz konsolę i spójrz na wynik konsoli.warn, który nie jest taki sam na webkit: /)

Szukałem dużo, ale nie mogę znaleźć sposobu, aby wybrać pełny węzeł w przeglądarkach webkit. Cudem, czy niektórzy z was znają sposób, aby to zrobić, a nawet jakąś wskazówkę, aby kontynuować moje poszukiwania? : /

ps: Znam „rangy” lib, ale nie mogę go użyć w moim projekcie i, z tego, co przeczytałem w źródle, nie jestem nawet pewien, czy i tak sobie z tym poradzą: /

questionAnswers(1)

yourAnswerToTheQuestion