Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/05/2006, 18:55
okram
Invitado
 
Mensajes: n/a
Puntos:
Añadir script al documento (usando un innerHTML y con IE)

Hola amigos foreros

Supongan este script:

Código HTML:
<html>
<head>
<script>
function crear_script() {
  var jsp = "function mostrar_alert() { alert('Si se ve este alert, el script funciona') }";
  var head = document.getElementsByTagName('head')[0];
  script = document.createElement("script");
  script.innerHTML = jsp;
  head.appendChild(script);
}
</script>
</head>
<body>
<a href="javascript:mostrar_alert()">Este link no funcionara si no se crea primero el script</a><br />
<a href="javascript:crear_script()">Este link creara el script</a><br />
</body>
</html> 
Como ven, tengo una funcion crear_script() que agregara un script mostrar_alert() para que funcione el primer vinculo... en el script tengo una var jsp que tiene a la funcion a agregar.

EN FireFox este codigo trabaja bien. El problema es en IE, al hacer click en el vinculo para crear el script lanza un error de javascript:

Línea: 8
Car: 3
Error: Error desconocido en tiempo de ejecucion
Código: 0
URL: http://127.0.0.6/prueba.html

Y pues obviamente no funciona... lo curioso esta en que si en vez de colocar script.innerHTML = jsp; coloco script.src='algun_script.js'; donde algun_script.js contiene la funcion mostrar_alert(), ahi si funciona en ambos exploradores...

Osea el problema esta en esa linea: script.innerHTML = jsp;

ALguna idea??? cualquier solucion es bienvenida

Gracias