android - 如何在加载下一个 WebView 之前清除上一个 WebView 的内容?

标签 android android-webview

我的场景是最初我正在加载一个 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/

相关文章:

android - java.io.IOException : close failed: EIO (I/O error) libcore. io.IoUtils.close(IoUtils.java:41) 导致 WebView 崩溃

android - WebView 是否需要 WebViewClient 才能工作?

android - Retrofit 或 Jackson ObjectMapper 将 "aId"属性映射到小写的 "aid"

Android:如何让应用程序在所有 Android 手机上运行

JavaScript 不适用于 ICS

android - 将 IP 指向 android webview 应用程序

android - 在 jpg 和 png 中加载相同的图像会导致不同的位图大小

java - 每当选择相邻选项卡时都会调用选项卡的 onCreateView 吗?

java - Libgdx - 触摸按钮时如何退出应用程序?

javascript - 无法从服务在 Android WebView 中执行 javascript 代码