Foros del Web » Programando para Internet » Javascript »

Problema ¿de seguridad? al crear/modificar contenido de script entre iframes

Estas en el tema de Problema ¿de seguridad? al crear/modificar contenido de script entre iframes en el foro de Javascript en Foros del Web. Pues lo del título. Necesito poder cachear un script desde un iframe y poderlo pegar EXACTAMENTE igual en otro iframe distinto. Lo he intentado de ...
  #1 (permalink)  
Antiguo 14/03/2006, 06:19
 
Fecha de Ingreso: julio-2005
Mensajes: 31
Antigüedad: 18 años, 9 meses
Puntos: 0
Problema ¿de seguridad? al crear/modificar contenido de script entre iframes

Pues lo del título. Necesito poder cachear un script desde un iframe y poderlo pegar EXACTAMENTE igual en otro iframe distinto. Lo he intentado de todos los modos imaginables, copiar el objeto y añadirlo al body del iframe, crear el objeto y modificar su propiedad innerHTML, crear nodos con createTextNode... Nada de nada. Esto me da que es un problema de seguridad que yo considero "insalvable" ¿Alguien lo ha conseguido sortear?
  #2 (permalink)  
Antiguo 17/03/2006, 07:26
 
Fecha de Ingreso: julio-2005
Mensajes: 31
Antigüedad: 18 años, 9 meses
Puntos: 0
Ya me contesto yo sólo

Resulta que en Mozilla el tag script si que dispone de nodos en su interior. Concretamente un textNode que es el que contiene el código del script propiamente dicho. Pero nuestro buen amigo Explorer no, pasa de todo ese rollo de nodos y si se le hace un .childNodes.length da 0. Resulta que si se la hace al tag un .innerHTML nos devuelve todo el código que contiene... pero esta propiedad es de sólo lectura, con lo que si quieres arroz Catalina. La única forma de poder meter código de forma dinámica en una etiqueta script es con la propiedad .text, algo que pensaba que había caído en el olvido y resulta que no, que si que funciona. Así, el código quedaría más o menos así:

Código:
var scriptTag = document.createElement('SCRIPT');
scriptTag.text = 'código en cuestión que queramos meter';
document.getElementsByTagName('BODY')[0].appendChild(scriptTag);
Y con estas tontas líneas es como se hace. Ale, por si alguien lo necesita aquí lo tiene.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:44.