2012-06-12 23 views
12

Necesitamos agregar un elemento javascript dentro de un iframe (está dentro de la misma web/dominio por lo que no hay problemas de seguridad). Lo pusimos en funcionamiento, pero no sabemos cómo llenar el contenido del script entre sus etiquetas ... ¿cómo lo harías?Conjunto de elementos JavaScript script texto interno

var iframe = document.getElementById('iframeX'); 
var iframedocument = iframe.contentWindow.document; 

var script = iframedocument.createElement('script'); 

script.setAttribute('type', 'text/javascript'); 
script.innerText = 'alert(\'hello\')'; //this doesnt work 
script.value= 'alert(\'hello\')'; //this doesnt work either 

var head = iframedocument.getElementsByTagName("head")[0]; 

head.appendChild(script); 

resultado deseado en el documento marco flotante:

<head> 
    <script type="text/javascript" > 
     alert('hello'); 
    </script> 
</head> 
+0

funciona bien http://jsfiddle.net/FU7ZK/ – Esailija

+0

que parece que no funciona aquí: http://jsfiddle.net/mRgn7/ –

Respuesta

11

¿Usted intentó:

script.setAttribute('type', 'text/javascript'); 
script.innerHTML = 'alert(\'hello\')'; 
+2

Buen punto: el establecimiento de innerText no es estándar. –

+0

Lo probé: la versión OP no funciona en FF, pero funciona con innerHTML. –

+0

Me refiero al tipo que hizo la pregunta ... ¿Cuál es la abreviatura de SO (* Stack Overflow *)? –

3

que tenía un problema en esta script.innerHTML ya que no funciona en IE8-.

script.text = 'alert(\'hello\')'; 

script.text funciona mejor para mí. encontrado en: Create script tag in IE8

Cuestiones relacionadas