我的场景是最初我正在加载一个 WebView,然后我正在加载具有不同 URL 的同一个 WebView。
我的问题是每当我加载下一个 URL 时,我可以看到之前加载的 URL 内容,然后显示我当前加载的 URL 内容。
我想在加载不同 URL 时清除内容。
说,
if (pos == 0) {
mweb.clearCache(true);
mweb.clearHistory();
mweb.loadUrl("http://stackoverflow.com/");
}
else if (pos == 1) {
mweb.clearCache(true);
mweb.clearHistory();
mweb.loadUrl("http://android.stackexchange.com/");
}
clearCache()
和 clearHistory()
都对我不起作用。
最佳答案
在加载新 URL 之前使用 mweb.clearView();
。
编辑:
clearView() 在 API 级别 18 中已弃用。使用 WebView.loadUrl("about:blank")
可靠地重置 View 状态并释放页面资源(包括任何正在运行的 JavaScript)。
解决@Liang 提出的问题:
要获得一致的后退导航,您可以覆盖“onPageFinished”,并在其中检查 url 是否包含“about:blank”。如果是,请使用“webview.goBack()”
关于android - 如何在加载下一个 WebView 之前清除上一个 WebView 的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8939530/