Ich versuche, einen benutzerdefinierten Webbrowser basierend auf dem WPF-Webbrowser-Steuerelement zu erstellen. Ich habe die IWebBrowser2 com
Schnittstelle implementiert und die Handler für Navigating()
, NavigatedTo()
und LoadCompleted()
Ereignisse implementiert. Diese Ereignisrückrufe werden jedoch nur einmal für die oberste Seite ausgelöst. Angenommen, eine Seite enthält Java Script-, CSS- und Image-Dateien. Der Browser gibt separate HTTP-Anforderungen zum Herunterladen dieser Dateien aus. Wir möchten die einzelnen HTTP-Anfrage-Ereignisse erfassen. Wenn zum Beispiel der Struktur der HTML-Seite istWie erhält man die URL, für die das downloadBegin() Ereignis ausgelöst wird?
<html>
<body>
<img src="img1.bmp"/>
<imp src="img2.bmp"/>
</body>
</html>
würde Ich mag die einzelnen Download-Zeiten für img1.bmp und img2.bmp erfassen. Könnte jemand bitte einen Weg vorschlagen, dies zu erreichen?
Inzwischen habe ich gefunden, dass downloadbegin() Ereignis von DWebBrowserEvents_Event
für diese Anfrage für Bild etc gefeuert wird, aber ich kann nicht die URL von denen es herunterladen, als der Handler void als Parameter.
So gibt es eine Möglichkeit, die URL entsprechend zu erhalten, da es ein Ereignis gibt, dass DownloadComplete ist, das ausgelöst wird, wenn der Download abgeschlossen ist. So kann ich das erreichen.
Aber ich muss die obige Bildwiedergabezeit lösen. Ich stecke schlecht fest. Bitte helfen Sie mir ....
BeforeNavigate wird nur einmal aufgerufen, nicht einmal für jede Datei, die für die Seite heruntergeladen wird. –