Foros del Web » Programando para Internet » Javascript »

ejecutar funciones una vez que se ha cargado completamenta la página

Estas en el tema de ejecutar funciones una vez que se ha cargado completamenta la página en el foro de Javascript en Foros del Web. Tengo un userscript que pretende capturar datos de una página web. El script pincha en un desplegable y va seleccionando secuencialmente los items del desplegable, ...
  #1 (permalink)  
Antiguo 29/03/2017, 05:43
 
Fecha de Ingreso: enero-2016
Mensajes: 21
Antigüedad: 8 años, 3 meses
Puntos: 0
ejecutar funciones una vez que se ha cargado completamenta la página

Tengo un userscript que pretende capturar datos de una página web. El script pincha en un desplegable y va seleccionando secuencialmente los items del desplegable, un select.
Pretendo que cada vez que se carga la página nuevamente después de seleccionar el item capture un dato.
Imaginemos una página con un select de años de 2000 a 2017, con cada año se cargan de nuevo los datos que muestran las ganancias de la empresa. El script va abriendo cada página y capturando la ganancia en cada año.
El problema es capturar ese dato despues de que se haya cargado nuevamente la página.
He probado con window.load=capturarGanancias(); pero no funciona.
He probado con document.addEventListener("DOMContentLoaded", function(){capturarGanancias()}; pero igualmente no funciona.
Alguien podría indicarme qué procedimiento suele usarse para esta serie de funciones sucesivas en las que es necesario esperar a que se cargue nuevamente la página?
Gracias
  #2 (permalink)  
Antiguo 29/03/2017, 09:38
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: ejecutar funciones una vez que se ha cargado completamenta la página

Si la página se carga completamente (como cuando la actualizas), debería funcionar de la forma en la que lo has venido intentando. En cambio, si al seleccionar una opción del <select>, los nuevos datos cargan dinámicamente (por lo general, mediante AJAX), tendrás que capturar dichos datos en el espacio en donde se establece dicha carga.

Por ejemplo, usando una petición asíncrona (AJAX):
Código Javascript:
Ver original
  1. var ajax = new XMLHttpRequest();
  2.  
  3. ajax.open(method, url, async);
  4. ajax.addEventListener("load", function(){
  5.     if (this.status == 200){
  6.         //Aquí capturarías a los nuevos datos
  7.     }
  8. });
  9. ajax.send();

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: addeventlistener
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 10:15.