Android的webview保持前一页的内容不重新加载?
问题描述:
该webview似乎只保留上一页的网址和滚动位置,不保留内容?我有一个带有json数据的主页面和一个子页面。主页面生成一些json数据的超链接在新窗口中打开子页面。在笔记本浏览器中,我只需要在新窗口中关闭子页面。但在webview中,当我按下后退按钮时,它可以返回主页面,但它会重新加载并且不保留以前的内容。我如何使webview无需重新加载就返回?Android的webview保持前一页的内容不重新加载?
main.html with dynamic content
<a href='child.html' target=target="_blank"......
press back button, success go back, but the main page reload and lost dynamic content
我的代码波纹管:
webView.Settings.JavaScriptEnabled = true;
webView.Settings.DomStorageEnabled = true;
webView.Settings.DatabaseEnabled=true;
webView.Settings.DatabasePath = AppConfig.Path;
webView.SetWebViewClient(new HybridWebViewClient());
public override void OnBackPressed()
{
if (webView != null && webView.CanGoBack())
{
webView.GoBack();
GoBackFlag = true;
}
else {
base.OnBackPressed();
}
}
public override bool ShouldOverrideUrlLoading(WebView view, string url)
{
if (GoBackFlag)
{
GoBackFlag = true;
return false;
}
else {
view.LoadUrl(url);
}
return true;
}
public override void OnPageStarted(WebView view, string url, Bitmap favicon)
{
if (GoBackFlag)
{
GoBackFlag = false;
return;
}
}
谢谢〜
答
有一点要记住的是,网页视图是不是一个完整的互联网浏览器。这是一个专门用于加载网页内容的视图。如果您有单个WebView并正在切换内容(包括返回),则每次都必须重新加载内容。
查看嵌入在其中的WebView使用不同的片段。这样,当你加载它应该保持加载(或缓存)的内容。然后,您可以在WebView片段之间执行所有导航。
您也可以在一个Activity中拥有多个WebView,并将可见性标志设置为GONE或VISIBLE,具体取决于屏幕上应显示的内容。
很遗憾。我会做一些替代计划,谢谢~~ – Renkuei