Internet Explorer 6

IE6

Internet Explorer 6 es el navegador más usado en Julio de 2007 [Fuente: w3counter]

A pesar de que Mozilla Firefox (~25% entre MF1.0, MF1.5 y MF2.0) e Internet Explorer 7 (17.64%) suben progresivamente su cuota de mercado, aún IE6 es el navegador más popular (48.84%) con diferencia.

Se suele echar la ‘culpa’ de esto a la cantidad de Windows pirata que existen. Sin embargo, desde el 4 de octubre es posible actualizar a IE7 sin pasar por la ‘prueba del algodón’ (WGA – Windows Genuine Advantage) [Anuncio de Pete LePage, Product Manager de IE | Artículo KB940767 de la Microsoft Knowledge Base]

¿Cuánto tardará IE6 en reducir su cuota?

Modificando un textarea desde javascript

Para modificar en Javascript el contenido de un textarea, podemos usar las propiedades selectionStart y selectionEnd que tenemos disponibles en Firefox y Opera.
Sin embargo, éstas no están disponibles en IE, por lo que debemos utilizar un feo truco para añadirlas.
Ahí va el código:

function UglyFixForSelectionStartAndSelectionEndForIE(id) {
    var element = $get(id);
    if(document.selection) {
        // The current selection 
        var range = document.selection.createRange();
        // We'll use this as a 'dummy'
        var stored_range = range.duplicate();
        // Select all text 
        stored_range.moveToElementText( element );
        // Now move 'dummy' end point to end point of original range 
        stored_range.setEndPoint('EndToEnd', range );
        // Now we can calculate start and end points 
        element.selectionStart = stored_range.text.length - range.text.length;
        element.selectionEnd = element.selectionStart + range.text.length;
    }
}

Y si estamos usando el ASP.NET Ajax Control Toolkit, bastará con utilizar:

        var element = this.get_element();
        if (Sys.Browser.agent === Sys.Browser.InternetExplorer)
            UglyFixForSelectionStartAndSelectionEndForIE(element.id);
        var start = element.selectionStart;
        var end = element.selectionEnd;
        var length = element.textLength;

La función es original de Stickblog