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)