【问题标题】:webview.loadUrl("about:blank") issuewebview.loadUrl("about:blank") 问题
【发布时间】:2014-02-20 22:11:41
【问题描述】:

在我的应用程序中,我有一个 webview,最初我会在其中加载任何网站,比如 www.google.com。
稍后单击按钮,我想清除此 web 视图,为此我做了

webview.loadUrl("about:blank");  

但是这样做并没有清除我的 webview,它继续显示 google.com

我尝试将 webview 重新初始化为

webview = new WebView(this);
webview.loadUrl("about:blank");

我也试过

webview.clearHistory();
webview.loadUrl("about:blank");  

但我得到了相同的结果,webview 显示 google.com
如何清除网页视图?
请提出建议。
谢谢你。

编辑:
另一方面,在加载 google.com 之前,如果我这样做了

webview.loadUrl("about:blank");  

它加载一个空白网页。

【问题讨论】:

    标签: android webview


    【解决方案1】:

    在加载新网址之前使用webView.clearView();

    也可以使用 根据您想要做的事情,您可以做几件事来清除 web 视图:

    webView.clearCache(true);
    
    webView.clearHistory();
    
    webView.destroy();
    

    【讨论】:

    • @Zeba 嘿,这是给你用的,然后对我的问题投票,所以 any1 也可以使用这个答案。
    • 后来我遇到了这个答案的问题......我的网页视图会空白,但几秒钟后谷歌会再次加载..如果我触摸网页视图然后谷歌页面将再次加载..所以最后我不能使用这个解决方案。
    • @Zeba 嘿,你能把你的文件发布到 stackoverflow 中,这样我就可以检查它并尝试检查你的问题到底是什么
    • 更新:webView.clearView(); 现在在 API 级别 18 中已弃用。使用 WebView.loadUrl("about:blank") 可靠地重置视图状态并释放页面资源(包括任何正在运行的 JavaScript)。见:developer.android.com/reference/android/webkit/…
    【解决方案2】:

    只是为了更新,方法 clearView() 在 API 级别 18 中已被弃用。

    使用 WebView.loadUrl("about:blank") 可靠地重置视图状态并释放页面资源(包括任何正在运行的 JavaScript)。

    【讨论】:

    • 确实如此。问题是,即使您加载“about:blank”然后重置历史记录,空白页仍会保留在历史记录中。如果只有一个(仍然)工作的 clearView() 函数可以做任何必要的事情!
    【解决方案3】:

    尝试以下操作:webView.loadData("");

    【讨论】:

    • 这是我用来加载空白页面的方式,效果很好。
    猜你喜欢
    • 1970-01-01
    • 2012-05-08
    • 2013-10-20
    • 2015-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-20
    相关资源
    最近更新 更多