我在我的UWP应用程序中使用WebView,我想在关闭应用程序时清除缓存,有没有办法?我知道我可以通过在
this链接中提到的HttpRequestMessage中添加标头来禁用缓存.但是,我希望能够在应用程序退出时清除缓存.
我没有成功尝试过WebView.ClearTemporaryWebDataAsync().
一旦缓存了某些内容,它通常会保留在整个应用中.
任何帮助表示赞赏,谢谢.
var webView = new WebView(); webView.Navigate(new Uri("http://refreshyourcache.com/en/cache-test/")); await WebView.ClearTemporaryWebDataAsync(); //static method webView.Navigate(new Uri("http://refreshyourcache.com/en/cache-test/"));
解决方法
在UWP(XAML)中有
ClearTemporaryWebDataAsync
方法,它允许webview的缓存和IndexedDB数据.在MSApp –
clearTemporaryWebDataAsync
中有类似的JavaScript方法.
XAML:
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> <StackPanel> <WebView x:Name="webView" Width="800" Height="600"></WebView> <Button x:Name="refreshBtn" Content="Refresh" ></Button> </StackPanel> </Grid>
C#:
public MainPage() { this.InitializeComponent(); refreshBtn.Tapped += RefreshBtn_Tapped; webView.Navigate(new Uri("http://refreshyourcache.com/en/cache-test/")); } private async void RefreshBtn_Tapped(object sender,TappedRoutedEventArgs e) { await Windows.UI.Xaml.Controls.WebView.ClearTemporaryWebDataAsync(); webView.Navigate(new Uri("http://refreshyourcache.com/en/cache-test/")); }
当我单击刷新按钮时,缓存被清除 – 我看到绿色图像.