Foros del Web » Programando para Internet » Javascript »

Guardar codigo fuente en una variable

Estas en el tema de Guardar codigo fuente en una variable en el foro de Javascript en Foros del Web. Hola que tal, pues estoy intentando guardar el código fuente de una pagina externa en una variable, para de ahi manipularlo obviamente, bueno, he leído ...
  #1 (permalink)  
Antiguo 22/06/2010, 13:14
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Guardar codigo fuente en una variable

Hola que tal, pues estoy intentando guardar el código fuente de una pagina externa en una variable, para de ahi manipularlo obviamente, bueno,
he leído que con innerHTML se puede algo como esto

var contenido = document.getElementById('body').innerHTML;

"no se pero supongo que en vez de ById fuera ByUrl probando de todas maneras"

pero lo que no sé y no encuentro información al respecto en ningún lado es como decirle que body de que url debe guardar.

otra pregunta sería si la variable var contenido se puede pasar a una php

algo así como

$html = var contenido;

gracias por cualquier consejo o sugerencia que puedan darme.
  #2 (permalink)  
Antiguo 22/06/2010, 13:22
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Guardar codigo fuente en una variable

Hola

A las dos preguntas la respuesta es no se puede.
A mí no me suena que se pueda sacar el código fuente de una "página externa".
Y tampoco creo que se puede asignar un valor a una variable PHP usando una variable javascript

Aunque si en ambos o en uno de los casos la respuesta es sí, ambos aprenderemos algo nuevo

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 22/06/2010, 13:23
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: Guardar codigo fuente en una variable

ciertamente con innerHTML puedes leer el codigo fuente a partir de un elemento especifico. sin embargo, no puedes hacerlo con un documento externo al dominio donde se ejecutan los scripts porque ya es una clara violacion a la póliza del mismo origen. por tanto, desde javascript no tienes opcion. me parece a mi que desde lenguaje servidor puedes pedir un documento y procesar el codigo fuente, pero ya ese tema no entra aqui porque estamos hablando de lado cliente.

sobre la segunda duda, ambos lenguajes no pueden interactuar directamente. es decir, desde php no puedes interpretar codigo javascript ni viceversa. lo que si puedes hacer es transferir datos a traves de peticiones GET o POST. te recomiendo POST porque GET tiene limitaciones en cuanto a la longitud de contenido.

de todos modos, a mi entender tu necesitas ese dato en php. entonces deberias trabajarlo todo desde php.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #4 (permalink)  
Antiguo 22/06/2010, 13:29
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Guardar codigo fuente en una variable

bueno entonces no se puede, es que con php me dejó de funcionar file_get_element, de un momento a otro en todos los servers y ya no se que hacer por eso pensé que se podría con javascript, en fin a buscar otras opciones. gracias.
  #5 (permalink)  
Antiguo 22/06/2010, 13:34
 
Fecha de Ingreso: diciembre-2008
Mensajes: 83
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Guardar codigo fuente en una variable

bueno para empezar eso solo es posible mediante ajax, y si lo q quieres es coger el body de otra pagina pues tendrias q pedirlo en forma de XML, tendrias q saber manejar XML ya sea con javascript o con php, lo de pasarle el valor a una variable php tambien se puede hacer con ajax

un ejemplo rapido

xmlhttp = new XMLHttpRequest();
var url = "tu.url.com";
var contenido;
xmlhttp .open('get', url, true);
xmlhttp .onreadystatechange = function ()
{
if (xmlhttp .readyState == 4)
{
contenido = xmlhttp .responseXML;
}
}
xmlhttp.send(null);

despues puedes pedirle el body a la variable contenido, con la funciones para trabajar con xml de javascript

espero te sirva
  #6 (permalink)  
Antiguo 22/06/2010, 13:47
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Guardar codigo fuente en una variable

Hola

Del lado del servidor no me suena que se pueda obtener el código fuente, usando la función file_get_contents('url',true) podrías obtener el HTML de la página

No se puede asignar un valor a una variable PHP con una variable javascript, al contrarío sí

@kstro21, ¿podría explicar tu lógica?
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #7 (permalink)  
Antiguo 22/06/2010, 13:51
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: Guardar codigo fuente en una variable

Cita:
@kstro21, ¿podría explicar tu lógica?
lo mismo digo porque por AJAX no se puede cargar un documento externo, sigue siendo una violacion a la póliza del mismo origen. a no ser que se refiera en obtener el HTML de otro sitio mediante un proceso de php -por ejemplo- en el mismo dominio.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #8 (permalink)  
Antiguo 22/06/2010, 13:57
 
Fecha de Ingreso: diciembre-2008
Mensajes: 83
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Guardar codigo fuente en una variable

bueno pasar una variable de javascript a php se puede hacer mediante el mismo ajax, se puede hacer post sbre un script php y pasarle la variable y ya de paso puedes ejecutar el script, existen otras maneras, como empotrar el codigo php y javascript dentro del html, esta es la via q menos me gusta, pero las dos vias yo las he usado y me han funcionado

ZEROKILLED: podrias explicar a q te refieres con violacion a la póliza
  #9 (permalink)  
Antiguo 22/06/2010, 14:00
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: Guardar codigo fuente en una variable

Política del mismo origen
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #10 (permalink)  
Antiguo 22/06/2010, 14:12
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Guardar codigo fuente en una variable

A ver no se confundan, yo no quiero cargar un fichero externo solo quiero poder leer el código fuente y claro que se puede con php

<?php
$page = file_get_contents('http://google.com/');
echo $page;
?>

eso muestra la página y con la funcion adecuada el código, pero mi problema es que no me funciona ya en ningun host y llevo una semana, por eso buscó opciones. :(

PD: me equivoque puse element en vez de contents XD

Aparte me guíe en este thread

http://www.forosdelweb.com/f13/almac...script-478087/

para preguntar esto

Última edición por memoadian; 22/06/2010 a las 14:17

Etiquetas: fuentes, variables
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 18:28.