如何在使用WKWebView时捕获重定向url,就像网页在提交用户名和密码或其他数据时重定向到另一页一样。我需要捕获重定向的网址。 WKNavigationDelegate中是否有任何方法可以覆盖?在ios中捕获wkwebview中的重定向url
回答
使用此方法WKNavigationDelegate
public func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Swift.Void)
{
if(navigationAction.navigationType == .formSubmitted)
{
if navigationAction.request.url != nil
{
//do what you need with url
//self.delegate?.openURL(url: navigationAction.request.url!)
}
decisionHandler(.cancel)
return
}
decisionHandler(.allow)
}
希望这有助于
使用web视图:shouldStartLoadWithRequest:navigationType:委托方法。
重定向属于UIWebViewNavigationTypeOther。
刚一说明:web视图:shouldStartLoadWithRequest:navigationType:方法是UIWebViewDelegate的一部分,而问题是关于WKWebView –
(这回答了如何检测WKWebView一个URL重定向,这是导致我这个页面的搜索稍微更具普遍性的问题。)
简短的回答
使用WKNavigationDelegate
的webView(_:didReceiveServerRedirectForProvisionalNavigation:)
功能和检查WKWebView
的URL
财产。
再回应
有一对夫妇的地方,你可以检测到服务器端重定向。
在iOS 10.3.3和iOS 11.0,事件在装入被服务器重定向的URL时,我观察到的顺序是:
的
WKNavigationDelegate
功能webView(_:decidePolicyFor:decisionHandler:)
被称为该 原始URL请求。WKWebView
的URL
属性设置为 原始URL。WKNavigationDelegate
函数webView(_:didStartProvisionalNavigation:)
被调用为 原始URL请求。WKWebView
的URL
属性设置为 原始URL。WKWebView
的URL
属性由WebKit更新为重定向URL。 (你只知道这个,如果你是键值 观察属性。)的
WKNavigationDelegate
功能webView(_:decidePolicyFor:decisionHandler:)
被称为该 重定向的URL请求。WKWebView
的URL
属性然后是 重定向URL。WKNavigationDelegate
函数webView(_:didReceiveServerRedirectForProvisionalNavigation:)
是 调用。WKWebView
的URL
属性是 重定向URL。
(注:在iOS的11。3和4逆转,与URL
性质不变,webView(_:decidePolicyFor:decisionHandler:)
,这实际上似乎是一个合理的排序,但我还没有看到这样的设备上0模拟器我所看到的步骤。)
这似乎是webView(_:didReceiveServerRedirectForProvisionalNavigation:)
建明确地为了检测重定向的目的,所以可能是首选的选项,尽管重定向可能在步骤3或4中被推断出来,但是只有当你能确定没有其他导航改变的原因时。
- 1. 尝试重定向到WKWebView中的url
- 2. 如何在iOS中捕获UIWebView重定向url
- 3. python如何捕获302重定向url
- 4. 在urllib2中获取重定向的url
- 5. 如何捕获mvc-3中的url进行重定向?
- 6. Url在scrapy中获得重定向
- 7. 在javascript中获取iframe重定向url
- 8. 在perl中获取重定向url
- 9. 从WKWebView捕获window.print()
- 10. 获取iOS 5中最后一次重定向的url?
- 11. iOS Mediaplayer和URL重定向
- 12. iOS系统重定向URL
- 13. 在codeigniter中重定向Url
- 14. 在Django URL中重定向
- 15. 在WordPress中重定向URL
- 16. 如何在Swift中捕获重定向URL(在OAuth2的授权步骤之后)
- 17. 捕获重定向位置
- 18. 如何在重定向之前捕获返回URL?
- 19. 如何在Ionic上捕获状态302 URL重定向?
- 20. 在Python中确定重定向的URL
- 21. CakePHP中的URL重定向
- 22. CCAvenue中的重定向URL
- 23. JSP中的重定向URL
- 24. jsoup中的重定向URL
- 25. 如何通过Codeigniter中的重定向URL重定向到URL?
- 26. WKWebView重定向问题相比UIWebView的
- 27. 捕捉中间的目录,并重定向到新的URL
- 28. 使用请求模块捕获无效的URL预重定向
- 29. PHP获取重定向URL
- 30. 获取重定向URL
喜昨天你的问题得到解决或者没有 –
了使用wkwebview –
好解决,但你不告诉我 –