pregunta complicada. Uso de innerText con Netscape

m1963
16 de Enero del 2005
Tengo un iframe que devuelve valores a la ventana que la llamó. La devolución de los valores la hago usando innerText de los campos de la ventana que llamó al iframe. Va bien con Explorer pero con Netscape no. Alquien sabe como adaptarlo para Netscape??? Muchas gracias

fangosto
16 de Enero del 2005
innerText y outerText son dos instrucciones propias de Microsoft que no funcionan en el resto de navegadores. Desgraciadamente es una cosa que todos descubrimos después de comernos el coco pensando por qué nos falla si en IE nos iba bien. Estoy intentando averiguar como adaptarlo y parece que todo se encamina hacia el uso de getElementById. Si consigo la solución la colgaré en el foro. Si eres tú el primero en solucionarlo nos harás un favor a muchos.
Saludos.

fangosto
16 de Enero del 2005
¡¡¡¡ Ya tengo la respuesta !!!!!

Como sabéis innerText y outerText son dos instrucciones propiedad de Microsoft que hoy en día sólo funcionan en IE, y no en el resto de navegadores.

Os pego un pequeño ejemplo de como simular innerText para cualquier otro navegador. Saludos.

<html>

<head><script type="text/javascript">
var patron = /</?[^>]+>/gi;

function innerTextM(QueIdM) /* Muestra el contenido */
/* Idea extraida de href="http://radio.javaranch.com/channel/pascarello/2005/01/14/1105721395000.html">http://radio.javaranch.com/channel/pascarello/2005/01/14/1105721395000.html */
{
xStr = eval(QueIdM).innerHTML; /* eval realmente me da document.getElementById */
xStr = xStr.replace(patron,"");
return xStr;
}

function innerTextC(QueIdC,Nueva) /* Cambia el contenido */
/* Función incorporada por fangosto */
{
eval(QueIdC).innerHTML=eval(QueIdC).innerHTML.replace(innerTextM(QueIdC),Nueva);
}
</script>

<title>Simulación innerText</title>
</head>

<body>

<p>El código pretende simular la instrucción innerText (que sólo funciona en Internet
Explorer) de forma que pueda ser utilizada en cualquier explorador.</p>

<p>Debes pulsar uno de los botones de abajo para mostrar/cambiar el contenido del
siguiente texto:</p>

<p id="test" align="center"><font color="#FF0000"><strong>TEXTO DE PRUEBA</strong></font></p>

<form name="Elegir">
<p><input type="button" value="Mostrar contenido" name="BMostrar"
onclick="alert(innerTextM('test'))"></p>
<p>Indicar nuevo contenido <input type="text" name="T1" size="40"
value="El texto ha sido modificado"><input type="button" value="Cambiar" name="BCambiar"
onclick="innerTextC('test',Elegir.T1.value)"></p>
</form>
</body>
</html>