Android v2.2-2.3.5:WebView:loadDataWithBaseURL:只会加载一次页面

Posted

技术标签:

【中文标题】Android v2.2-2.3.5:WebView:loadDataWithBaseURL:只会加载一次页面【英文标题】:Android v2.2-2.3.5: WebView : loadDataWithBaseURL : will only load page once 【发布时间】:2012-04-15 04:04:27 【问题描述】:

当我使用.loadData.loadDataWithBaseURL 加载页面时,系统将加载一次页面。

之后,后续调用将不起作用。

在 4.0.3 中,如果我要使用新数据再次调用该函数,它确实会发生变化。

对于 2.2+,我该如何解决这个问题?我要销毁 webview 并创建一个新的吗?

webView1.loadDataWithBaseURL("file://", page, "text/html", "UTF-8", null);
webView1.loadUrl( "javascript:window.location.reload( true )" );

【问题讨论】:

【参考方案1】:

在 loadDataWithBaseURL 中,将最后一个参数设置为数据来源的 URL,而不是 null

【讨论】:

页面不是来自任何地方...我正在使用以编程方式生成的 HTML。 如果你放了一些东西,比如“file://”(没关系),它会将该元素添加到历史堆栈中(当你点击后退按钮时),你将在 WebViewClient 中获得对 shouldOverrideUrlLoading 的回调。【参考方案2】:

我认为应该是"file:///"。你只是漏掉了一个斜线。

【讨论】:

以上是关于Android v2.2-2.3.5:WebView:loadDataWithBaseURL:只会加载一次页面的主要内容,如果未能解决你的问题,请参考以下文章

javascript 提供用于从React-Native WebView发送和接收消息的示例实现(使用postMessage / onMessage WebVie)

Android WebView开发:基础应用

Android WebView开发:基础应用

Android WebView开发:基础应用

如何在网络视图android中填写字段

Android中的PDF阅读器