如何在使用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 –
好解決,但你不告訴我 –