Я пытаюсь создать собственный веб-браузер на основе элемента управления веб-браузера WPF. Я реализовал интерфейс IWebBrowser2 com
и реализовал обработчики для Navigating()
, NavigatedTo()
и LoadCompleted()
событий. Но эти обратные вызовы событий запускаются только один раз для страницы верхнего уровня. Теперь предположим, что на странице есть java-скрипт, css и файлы изображений; браузер загружает отдельные HTTP-запросы для загрузки этих файлов. Мы хотели бы захватить отдельные события HTTP-запроса. Например, если структура страницы HTML являетсяКак получить URL-адрес, для которого запускается событие downloadBegin()?
<html>
<body>
<img src="img1.bmp"/>
<imp src="img2.bmp"/>
</body>
</html>
Я хотел бы, чтобы захватить отдельное время загрузки для img1.bmp и img2.bmp. Может ли кто-нибудь предложить вам способ добиться этого?
Между тем я обнаружил, что для запроса на изображение и т. Д. Запускается событие downloadbegin() DWebBrowserEvents_Event
, но я не могу получить URL-адрес, с которого он загружается, поскольку обработчик принимает значение void как параметр.
Так что я могу получить соответствующий URL-адрес, потому что есть событие, которое является downloadComplete, которое запускается, когда загрузка завершена. Таким образом, я могу добиться этого.
Но я должен решить вышеупомянутое время рендеринга изображений. Я застрял плохо. Пожалуйста, помогите мне ....
BeforeNavigate вызывается только один раз, а не один раз для каждого файла, загруженного для этой страницы. –