Появилась необходимость кэшировать ранее посещённые страницы (кот. загружались в экзэмпляре WebBrowser'а). Как это сделать?
(Есть подозрения , что WebBrowser как-то связан с Internet Explorer и страницы уже куда-то кэшируются)
Если есть выход в интернет
грузим страницу с помощью метода Navigate
Иначе
Программно переключить WebBrowser в оффлайн (т.е., чтобы IsOffline = True)
также грузить страницу с помощью Navigate
Williams писал(а):
- Код: Выделить всё
Dim headers As WebHeaderCollection = Nothing
Dim response As HttpWebResponse = Nothing
Dim request As HttpWebRequest = TryCast(WebRequest.Create(url), HttpWebRequest)
request.Method = "HEAD"
response = TryCast(request.GetResponse(), HttpWebResponse)
headers = response.Headers
Try
' Пытаемся "грузить" с интернета
ChangeOfflineMode.OffLineMode = False
WebBr.Navigate(sURLFull)
Catch ex As Exception
Exit Sub
End Try
Private Sub WebBr_Navigated(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserNavigatedEventArgs)
With WebBr
' Следущая строка - проверка на успешную загрузку стараницы. Она вызывает у меня опасения
' на надёжность (но все разы работала).
If (.Url <> .Document.Url) And Not (ChangeOfflineMode.OffLineMode) Then
' Пытаемся "грузить" с кэша
ChangeOfflineMode.OffLineMode = True
.Navigate(.Url.ToString)
End If
End With
End Sub
If (.Url <> .Document.Url) And Not (ChangeOfflineMode.OffLineMode) Then
Сейчас этот форум просматривают: Mail.ru [бот] и гости: 20