Foros del Web » Programando para Internet » Javascript »

¿Sacar html de un Iframe o sacar html de url?

Estas en el tema de ¿Sacar html de un Iframe o sacar html de url? en el foro de Javascript en Foros del Web. Hola a todos, queria ver si me podia ayudar con un programita que estoy haciendo con javascript. Quiero sacar el codigo de la pagina que ...
  #1 (permalink)  
Antiguo 12/09/2010, 03:55
 
Fecha de Ingreso: junio-2010
Mensajes: 6
Antigüedad: 13 años, 11 meses
Puntos: 0
¿Sacar html de un Iframe o sacar html de url?

Hola a todos, queria ver si me podia ayudar con un programita que estoy haciendo con javascript.

Quiero sacar el codigo de la pagina que se esta mostranto en el iframe.

He intentado con innerhtml pero no funciona he buscado como loco y las soluciones que encuentro no me funcionan.

Lo ideal seria que funcionara con IE.

Código HTML:
<html>
<body>
<iframe src="http://mipaginaweb.com"></iframe>
</body>
</html> 
Es como sacar el codigo html para luego pasarlo a una variable sustraer las partes de me interesan.
gracias.
  #2 (permalink)  
Antiguo 12/09/2010, 04:14
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: ¿Sacar html de un Iframe o sacar html de url?

los script no tienen acceso a los documentos si estan en distintos dominios. es decir, para que te funcione, tanto el documento que muestra el iframe, como el documento cargado en el iframe, deben estar en el mismo dominio. si es el caso, muestra el codigo para saber como lo estas haciendo.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 12/09/2010, 17:54
 
Fecha de Ingreso: junio-2010
Mensajes: 6
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: ¿Sacar html de un Iframe o sacar html de url?

Cita:
Iniciado por zerokilled Ver Mensaje
los script no tienen acceso a los documentos si estan en distintos dominios. es decir, para que te funcione, tanto el documento que muestra el iframe, como el documento cargado en el iframe, deben estar en el mismo dominio. si es el caso, muestra el codigo para saber como lo estas haciendo.
se supone que con esto
Código:
alert(document.getElementById("iframe").innerHTML);
Sin embargo no obtengo nada.
.value tampoco.

es que se supone que iframe contiene como valor el codigo html de la pagina. Una vez en visual basic lo hice pero queria como hacerlo en javascript si es que se podia. en todo caso me gustaria saber una forma de tomas fragmentos de una paginas web, como divs para mostrarlos en una aplicacion.
  #4 (permalink)  
Antiguo 12/09/2010, 18:34
Avatar de ClubIce  
Fecha de Ingreso: diciembre-2008
Mensajes: 216
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: ¿Sacar html de un Iframe o sacar html de url?

no será así:

Código Javascript:
Ver original
  1. document.getElementById('iframe').body.innerHTML
  #5 (permalink)  
Antiguo 12/09/2010, 19:18
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: ¿Sacar html de un Iframe o sacar html de url?

ni una ni otra, fijate que estas haciendo referencia a un elemento en lugar de un objeto window. tienes que usar la coleccion frames para acceder al objeto window del iframe. o bien, la otra alternativa, luego de obtener la referencia del elemento, lees la propiedad contentWindow el cual representa el objeto window. desde ahi vas a document, body, e innerHTML.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #6 (permalink)  
Antiguo 13/09/2010, 03:00
 
Fecha de Ingreso: junio-2010
Mensajes: 6
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: ¿Sacar html de un Iframe o sacar html de url?

Cita:
Iniciado por zerokilled Ver Mensaje
ni una ni otra, fijate que estas haciendo referencia a un elemento en lugar de un objeto window. tienes que usar la coleccion frames para acceder al objeto window del iframe. o bien, la otra alternativa, luego de obtener la referencia del elemento, lees la propiedad contentWindow el cual representa el objeto window. desde ahi vas a document, body, e innerHTML.
Entonces seria algo como asi o estoy mal?
Código HTML:
<html>
<body>
<iframe id="marco" src="http://www.google.com"></iframe>
<script type="text/javascript">
alert(document.getElementById('marco').contentWindow.document.body.innerHTML);
</script>
</body>
</html> 
  #7 (permalink)  
Antiguo 13/09/2010, 03:22
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: ¿Sacar html de un Iframe o sacar html de url?

es correcto... pero como ya mencione antes, solo te va funcionar si el documento cargado en el iframe pertenece al mismo dominio.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #8 (permalink)  
Antiguo 13/09/2010, 20:17
 
Fecha de Ingreso: junio-2010
Mensajes: 6
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: ¿Sacar html de un Iframe o sacar html de url?

Cita:
Iniciado por zerokilled Ver Mensaje
es correcto... pero como ya mencione antes, solo te va funcionar si el documento cargado en el iframe pertenece al mismo dominio.
Bueno Muchas gracias a todos al final voy a probar a ver si co otros lenguajes script lo puedo hacer. Es que estaba haciendo un gadget para windows 7 en el me mostrara en un marco en el escritorio las noticas de mi pais, sacadas de la pagina del periodico, pero para eso tengo que sacar el codigo html de la pagina y con un substring sacar el body y los divs correspondientes, pero me quede pegado en esto voy a ver si puedo en visual basic o en php o en algun otro lenguaje. Muchas gracias a todos

Etiquetas: innerhtml
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 19:30.