WebView不再对文档重新加载.位置的改变

WebView does not reload anymore on document.location change

本文关键字:加载 位置 改变 不再 文档 新加载 WebView      更新时间:2023-09-26

我有一个普通的html/javascript应用程序(没有Phonegap),我使用原生Android应用程序和WebView。

在JavaScript部分,我必须在某些情况下重新加载当前页面。对于我的旧手机和Android 4.3,我只使用:

document.location = "index.html"
对于我的新手机(Android 5),这似乎不再工作了。它仍然可以改变页面,即当我目前正在查看"books.html"时,我可以使用上述代码导航到"index.html"。但是当我想重新加载我当前正在查看的同一页面时,什么也没有发生。

我用chrome调试器调试WebView,没有错误,没有警告,什么都没有。在我的电脑上的chrome中,一切都很好。

请注意:

我尝试了Rajesh提到的解决方案。遗憾的是,它没有开箱即用。

我遇到了这个问题:https://bugs.chromium.org/p/chromium/issues/detail?id=327728

必须在webView上设置WebViewClient以使其工作:

webView.setWebViewClient(new WebViewClient());

document.location方法不会重新加载页面,它实际上会进入会话历史记录并单独访问页面。

可能有些浏览器实现限制在会话历史记录中并排添加重复条目,从而防止页面重新加载。

重载页面的最佳方法是document.location.reload()