Foros del Web » Programando para Internet » PHP »

Obtener html post ejecución de JS

Estas en el tema de Obtener html post ejecución de JS en el foro de PHP en Foros del Web. Hola, esotoy con un problema al obtener html de un reporte en php. El esunto es que necesito captar el HTML de un reporte manteniendo ...
  #1 (permalink)  
Antiguo 31/08/2011, 08:17
Avatar de n_n
n_n
 
Fecha de Ingreso: noviembre-2009
Mensajes: 50
Antigüedad: 15 años
Puntos: 1
Obtener html post ejecución de JS

Hola, esotoy con un problema al obtener html de un reporte en php. El esunto es que necesito captar el HTML de un reporte manteniendo los filtros y ordenes que se muestran en el momento, (current page)...la idea es capturar el HTML con file_get_contents. Lo que actualmente hago es usar file_get_contents y la url del reporte, pero obtengo siempre el reporte original, sin orden y sin filtro.
¿Entonces como capturo el HTML que ya ejecuto el JS y que mantenga el orden y filtros de lo que se esta mostrando.?
Como podria utilizar la función ob_start? y servira de algo?


Bueno en resumen me parece que lo que pasa es lo siguiente:


Entonces si los filtros y ordenes se aplican al ejecutarse los JS, como obtengo ese HTML?



Salu2
  #2 (permalink)  
Antiguo 31/08/2011, 08:20
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Obtener html post ejecución de JS

Eso no es posible pues Javascript se ejecuta en el navegador, y al no existir un interprete de Javascript file_get_contents() te devuelve el contenido de HTML tal cual.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 31/08/2011, 08:49
Avatar de n_n
n_n
 
Fecha de Ingreso: noviembre-2009
Mensajes: 50
Antigüedad: 15 años
Puntos: 1
Respuesta: Obtener html post ejecución de JS

Entonces no existe opción alguna? Como podría cambiar entonces la manera de lograrlo? La idea es capturar de alguna manera el HTML que genera al exportar el reporte, para poder crear así el pdf.
Algun camino alternativo que pueda tomar?
  #4 (permalink)  
Antiguo 31/08/2011, 09:03
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Obtener html post ejecución de JS

No existe ninguna forma, a menos que puedas crear un parser de Javascript escrito en PHP que pueda extraer esa información.

Recuerda que PHP y Javascript se ejecutan en tiempos diferentes, Javascript en el cliente, y PHP en el servidor.

Lo que puedes hacer es que en lugar de que esa pagina se maneje con Javascript, se maneje desde el servidor, que cada que hagan algún filtro este se haga desde el servidor y no desde el cliente, así desde una URL puedes manipular el resultado ej: listado.php?order=nombre&filter=algo y no desde el cliente.

Posteriormente una vez que funciona bien, le agregas la funcionalidad Javascript para que funcione como esta ahora.

Saludos.
  #5 (permalink)  
Antiguo 31/08/2011, 09:38
Avatar de Raziel_Ravenheart  
Fecha de Ingreso: agosto-2011
Ubicación: Ibagué, Tolima
Mensajes: 192
Antigüedad: 13 años, 3 meses
Puntos: 37
Respuesta: Obtener html post ejecución de JS

Puede que halla un modo, no estoy muy seguro, pero vas a necesitar hacer lo siguiente:

1. Supongamos que quieres obtener el contenido de todo el html, eso se haría con

document.getElementById("idDelElemento").innerHTML

sin importar si has generado algún contenido dinámico, en ese momento, con el innerHTML, te va a aparecer. Intenta haciendo un alert y verás.

2. Suponiendo que todo, las tablas, los filtros, y el contenido orden están justo en ese momento, en sus posiciones actuales, digamos, entre un div que los contiene, puedes empezar a buscar los elementos que necesitas, y luego enviarlos mediante ajax, a un script php o asp, lo que sea q uses.

3. Dependiendo de lo que recibas los procesas, lo organizas y listo. La ventaja de esto, es que hay extensiones pdf para php, que reconocen las sintaxis de <table>,<tbody>,<thead>,<tr>,<td>,<caption>, y con esto puedes armas las tablas que necesites, tendrías que averiguar sobre el tema. Creo también que hay extensiones pdf para php, que entienden CSS, pero eso si tendrías que averiguarlo.

Acuerdate innerHTML, es tu amigo para saber cual es el contenido actual de un div, span, p, o lo que sea

Última edición por Raziel_Ravenheart; 31/08/2011 a las 09:39 Razón: Rectificar que tipo de extensiones php
  #6 (permalink)  
Antiguo 31/08/2011, 12:23
Avatar de n_n
n_n
 
Fecha de Ingreso: noviembre-2009
Mensajes: 50
Antigüedad: 15 años
Puntos: 1
Respuesta: Obtener html post ejecución de JS

Gracias por las sugerencias, pero de verdad quiero evitar llegar a modificar el Js. Estoy usando un generador de reportes, (phprepormaker4) y genera una clases enormes de php y js...aprox 3k de linea, por archivo. Y no me da ni el cerebro ni el tiempo.

El programa exporta a word y excel, haciendo :
Código PHP:
if ($Usuarios_Registrados->Export == "excel") {
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment; filename=' $gsExportFile.'.xls');

No no se como genera antes de esto el html, pues desde el link de exportación solo logrro distinguir que genera la dirección url, que en este caso sería_

Código PHP:
/usuarios_registradossmry.php?export=excel 
El asunto es que puedo generar un

Código PHP:
header('Content-Type: application/'); 
que genera un archivo descargable php. No se como poder de alguna manera en vez de descargarlo capturar el contenido de ese archivo, será posible o no tiene sentido?

La verdad como la clase que genera es demasiado grando no la puedo mostrarla en el foro, pero tratare de hacer algo desde ahí.

Sugerencia por favor.

Salu2

Etiquetas: html, js, post
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 14:05.