Android webview'中缺少自定义标题;goBack()请求
我通过调用以下命令将自定义标题添加到所有webview的请求中:Android webview'中缺少自定义标题;goBack()请求,android,webview,http-headers,Android,Webview,Http Headers,我通过调用以下命令将自定义标题添加到所有webview的请求中: webview.loadUrl(url, myHeaders) 和重载webview客户端的: shouldOverrideUrlLoading() 浏览和深入链接时,所有请求都有自定义标题,但所有webview的goBack()请求没有shouldOverrideUrlLoading() 我想知道如何确保自定义标题始终包含在goBack()请求中?通常,当返回导航历史记录时,WebView会重新发送额外的标题,我已经对其进行
webview.loadUrl(url, myHeaders)
和重载webview客户端的:
shouldOverrideUrlLoading()
浏览和深入链接时,所有请求都有自定义标题,但所有webview的goBack()
请求没有<调用goBack()
时,不调用code>shouldOverrideUrlLoading()
我想知道如何确保自定义标题始终包含在
goBack()
请求中?通常,当返回导航历史记录时,WebView会重新发送额外的标题,我已经对其进行了简要测试,它似乎可以工作。然而,有几个时刻可能令人困惑,因此我建议重新检查您的场景中到底发生了什么:
goBack()
,WebView甚至可能不会重新联系服务器以加载页面——它可以从缓存中恢复页面。为了强制从服务器重新查询页面,服务器必须使用缓存控制
标题:缓存控制:无缓存,无存储
禁用页面缓存。在这种情况下,如果页面通过带有额外标题的loadUrl
加载,这些标题将被重新发送goBack
,并且上一页已从用户单击中加载,则不会通过loadUrl
加载起始页的任何额外标题shouldOverrideUrlLoading
仅对由用户或服务器操作引起的加载调用,而不是对通过WebView API方法启动的加载调用,如loadUrl
或goBack
,因为应用程序已经知道它将在WebView的某个位置导航。例如,如果您正在通过loadUrl
加载google.com
,原始导航将不会被shouldOverrideAllowing
截获,但服务器所做的重定向(例如,重定向到https
页面)将被删除