【发布时间】:2019-10-24 22:32:14
【问题描述】:
我的应用中有一个WebView,宽度和高度为wrap_content
在我使用webview.loadData之前,它的宽度和高度都是0,在我加载一个页面(或者我使用webview.loadData)之后,它会显示一个网页。
我的问题是,如何清除 webview 以将其恢复到原始状态,就像以前一样 loadData?
【问题讨论】:
标签: android
我的应用中有一个WebView,宽度和高度为wrap_content
在我使用webview.loadData之前,它的宽度和高度都是0,在我加载一个页面(或者我使用webview.loadData)之后,它会显示一个网页。
我的问题是,如何清除 webview 以将其恢复到原始状态,就像以前一样 loadData?
【问题讨论】:
标签: android
我找到了这个答案,很有帮助:How do I clear a WebView's content before loading a page?
它是用于 Cocoa,但基本上只是调用:
webView.loadUrl("about:blank")
【讨论】:
唯一完整的解决方案是检查 SDK 版本。
if (Build.VERSION.SDK_INT < 18) {
webView.clearView();
} else {
webView.loadUrl("about:blank");
}
【讨论】:
webView.destroyDrawingCache(); 现在在所有版本上都可以正常工作。在不破坏绘图缓存的情况下,旧内容会在 4.4.+ androids 上闪烁
webView.loadUrl("about:blank")。如果 Javascript 正在运行,webView.clearView() 通常无法正常工作,即使在 SDK 版本
在 loadData 之前使用以下语句:
view.loadUrl("javascript:document.open();document.close();");
【讨论】:
WebView.clearView();
这将从 web 视图中清除视图。
【讨论】:
我使用了 clearView() 方法,但是我现在遇到的问题是,当我紧随其后 loadData() 时,它似乎没有加载数据。
【讨论】:
loadUrl("about:blank") 和 clearHistory() 怎么样?
【讨论】: