Estoy intentando crear un navegador web personalizado basado en el control del navegador web de WPF. Implementé la interfaz IWebBrowser2 com
e implementé los controladores para los eventos Navigating()
, NavigatedTo()
y LoadCompleted()
. Pero estas devoluciones de llamada de eventos se activan solo una vez para la página de nivel superior. Supongamos ahora que una página tiene algunos archivos java script, css e image; el navegador emite solicitudes HTTP separadas para descargar estos archivos. Nos gustaría capturar los eventos de solicitud HTTP individuales. Por ejemplo, si la estructura de la página HTML es¿Cómo obtener la URL para la cual se desencadena el evento downloadBegin()?
<html>
<body>
<img src="img1.bmp"/>
<imp src="img2.bmp"/>
</body>
</html>
Me gustaría capturar los tiempos de descarga individuales para img1.bmp y img2.bmp. ¿Podría alguien sugerir una forma de lograr esto?
Mientras tanto encontré que el evento downloadbegin() de DWebBrowserEvents_Event
se activa para estas solicitudes de imagen, etc., pero no puedo obtener la URL desde la que se está descargando, ya que el controlador toma el valor de vacío como parámetro.
Entonces, ¿hay alguna forma de que pueda obtener la URL correspondiente porque hay un evento que es downloadComplete que se activa cuando se completa la descarga. Entonces con eso puedo lograrlo de esa manera.
Pero tengo que resolver el tiempo de renderizado de la imagen anterior. Estoy muy mal. Por favor, ayúdenme ....
BeforeNavigate solo se llama una vez, no una vez por cada archivo descargado para la página. –