【发布时间】:2016-01-21 09:18:57
【问题描述】:
我遇到了 Android webview 的 goBack() 不发送自定义请求标头和 cookie 的问题。我试图通过在 goBack() 上重新加载整个页面来解决这个问题,但只有当 goBack() 不会从缓存中加载内容时才应该这样做。有没有办法以编程方式检测 webview 的 goBack() 是否将从缓存中加载内容。谢谢。
【问题讨论】:
我遇到了 Android webview 的 goBack() 不发送自定义请求标头和 cookie 的问题。我试图通过在 goBack() 上重新加载整个页面来解决这个问题,但只有当 goBack() 不会从缓存中加载内容时才应该这样做。有没有办法以编程方式检测 webview 的 goBack() 是否将从缓存中加载内容。谢谢。
【问题讨论】:
如果加载不是来自缓存,那么它将通过WebViewClient.shouldInterceptRequest。请注意,在goBack 的情况下,不会调用shouldOverrideUrlLoading,因为不会调用通过Java API 调用启动的导航。
【讨论】:
goBack 不发送自定义标头或cookie 的断言。这不应该是这样。您是否有重现此行为的简化示例?在哪个版本的 Android 和 WebView 包上会发生这种情况?我的意思是,弄清楚goBack 有什么问题应该是第一要务,考虑如何解决这个问题是次要的。
shouldInterceptRequest 完全实现您自己的资源加载,但这并非易事,现在不应该认真考虑 JellyBean 手机。感谢您指出 DevTools 中缺少自定义标头 - 我会检查一下。