Rubrik: HTML/Internet/Netzwerk · WebBrowser | VB-Versionen: VB2005, VB2008 | 11.01.10 |
Eigene Fehlerseite im WebBrowser-Control Dieser Tipp zeigt, wie man seine eigenen Fehlerseiten im WebBrowser-Control erstellen und anzeigen lassen kann. | ||
Autor: Dieter Otter | Bewertung: | Views: 12.372 |
www.tools4vb.de | System: Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Verwenden auch Sie das WebBrowser-Control? Vielleicht haben Sie ja sogar Ihren eigenen Browser programmiert. Dann wäre es doch schön, wenn nicht immer die Standard-Fehlerseite des Internet Explorers erscheinen würde, wenn eine Seite bspw. aufgrund einer falschen URL nicht angezeigt werden kann.
Wie man seine eigenen Fehlerseiten anzeigt, dass zeigen wir Ihnen heute.
Leider gibt es kein Event, das vom WebBrowser-Control ausgelöst wird, wenn eine Webseiten-Adresse nicht existiert. Das WebBrowser-Control zeigt hier immer autom. die Standard Fehlerseite des IE an. Durch einen kleinen Trick können wir aber trotzdem unsere eigene Fehlerseite anzeigen, indem wir im Navigating-Event die URL abfragen, die angezeigt werden soll. Handelt es sich hierbei um die URL res://ieframe.dll/navcancl.htm so brechen wir den Vorgang ab und zeigen einen eigenen individuellen Text an:
Private Sub WebBrowser1_Navigating(ByVal sender As Object, _ ByVal e As System.Windows.Forms.WebBrowserNavigatingEventArgs) _ Handles WebBrowser1.Navigating If e.Url.AbsoluteUri.StartsWith("res://ieframe.dll/navcancl") Then ' Vorgang abbrechen e.Cancel = True ' Eigene Fehlerseite erstellen Dim sHTML As String = "about:" & _ "<html>" & _ "<body leftMargin=10 topMargin=10 marginheight=10>" & _ "<p align=center><h2>Sorry... die angeforderte Seite konnte " & _ "nicht geladen werden.</h2></p>" & _ "<p>...</p>" & _ "</body></html>" ' Jetzt Fehlerseite anzeigen With WebBrowser1 .Navigate(sHTML) End With End If End Sub