javascript - WebView 在 document.location 更改时不再重新加载

标签 javascript android webview

我有一个纯 html/javascript 应用程序(无 Phonegap),与 native 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());

最佳答案

文档.位置 方法不会重新加载页面,它本质上会进入 session 历史记录并单独访问页面。

某些浏览器实现可能会限制向 session 历史记录添加并排重复条目,从而阻止重新加载页面。

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

关于javascript - WebView 在 document.location 更改时不再重新加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38114722/

相关文章:

java - 从 Activity 移动到上一个 fragment

ios - 在应用程序委托(delegate)的 didRegisterForRemoteNotificationsWithDeviceToken 上调用时,IBOutlet 似乎为零

android - 在 webview 中获取当前 URL

javascript - 从一个函数传递一个值以供另一个函数使用

javascript - 状态声明自己的右侧菜单,而左侧菜单始终存在

android - 使字符串可点击,在 TextView 中加下划线

android - sqlite 舍入 'error'

android - 在 android WebView 中读取安全 cookie

javascript - 回调后引用自己

javascript - 在 IE 中使用 contentEditable 的风险