A cross-browser JavaScript range and selection library
Can be located at https://code.google.com/p/rangy/
A cross-browser JavaScript range and selection library. It provides a simple standards-based API for performing common DOM Range and Selection tasks in all major browsers, abstracting away the wildly different implementations of this functionality between Internet Explorer up to and including version 8 and DOM-compliant browsers.
For manipulating selections in <textarea> and elements, see Rangy's poorly-named and svelter twin project, Rangyinputs.
Hosted files for the current stable release can always be found at http://rangy.googlecode.com/svn/trunk/currentrelease/ while the latest development build can be found at http://rangy.googlecode.com/svn/trunk/dev/. These are intended for use in demos using tools such as jsFiddle.