¿Cómo puedo "reemplazar" un rango de texto seleccionado en un área de texto en Chrome?

Estoy tratando de usar Javascript para reemplazar el texto seleccionado en un nodo TEXTAREA seleccionado arbitrariamente en Chrome (¡no un contenido editable div!) El fragmento de código que veo repetido en muchos lugares para reemplazar el texto seleccionado básicamente hace esto:

var sel = window.getSelection();
var range = sel.getRangeAt(0);
range.insertNode( document.createTextNode("test "));

Sin embargo, esto no funciona para campos de entrada como TEXTAREA o INPUT TYPE = TEXT. El texto se inserta ANTES de la TEXTAREA en lugar de dentro de ella.

Existe un método alternativo para modificar el texto de selección dentro de un área de texto usando textarea.selectionStart y textarea.selectionEnd. Sin embargo, esto requiere averiguar qué elemento de área de texto está realmente activo / seleccionado. Chrome / Webkit document.activeElement parece estar roto y se ha roto durante mucho tiempo. No puedo encontrar ninguna solución para encontrar el "área de texto seleccionada actualmente". Ver el error aquí ...

http://code.google.com/p/chromium/issues/detail?id=14436

Puedes ver una micro-demostración del problema que estoy tratando de resolver aquí.

http://dj1.willowmail.com/~jeske/_drop/insertIssue/1.html

http://ajaxandxml.blogspot.com/2007/11/emulating-activeelement-property-with.html

Tiene alguna idea sobre esto?

Dada una página web con un bit de texto arbitrario seleccionado en un nodo TEXTAREA arbitrario, sin saber de antemano en qué área de enfoque se encuentra, ¿cómo puedo encontrar el área de texto activa y reemplazar el texto seleccionado con algún otro texto?

((FYI: Estoy usando este código en una extensión de Chrome. Una secuencia de comandos de contenido javascript en la página está extendiendo la página javascript, así que no tengo idea de cuál es la estructura de la página antes de tiempo. Debe funcionar en cualquier página web. ))

Respuestas a la pregunta(2)

Su respuesta a la pregunta