Capture-Umleitungs-url in wkwebview in ios
Wie kann ich erfassen die Umleitungs-url bei der Verwendung von WKWebView wie wenn eine Webseite leitet zu einer anderen Seite auf die übermittlung von Benutzername und Passwort oder andere Daten. Mich bannen zu müssen die umgeleiteten url. Gibt es eine Methode in WKNavigationDelegate zu überschreiben?
- hi gestern das problem behoben ist oder nicht
- Hab gelöst durch die Verwendung von wkwebview
- gut, aber Sie sind nicht darüber informiert mich
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie diese
WKNavigationDelegate
MethodeHoffe, das hilft
(Diese Antworten die etwas allgemeinere Frage, wie zu erkennen, eine URL-Umleitung in WKWebView, das ist die Suche, führen mich zu dieser Seite.)
Kurze Antwort
Verwenden
WKNavigationDelegate
'swebView(_:didReceiveServerRedirectForProvisionalNavigation:)
Funktion und untersuchenWKWebView
'sURL
Eigenschaft.Mehr beantworten
Gibt es ein paar Orte, die Sie könnte erkennen, eine serverseitige Umleitung.
Auf iOS 10.3.3 und iOS 11.0, die Abfolge der Ereignisse, die ich beobachte beim laden einer URL wird umgeleitet, indem der server ist:
Den
WKNavigationDelegate
FunktionwebView(_:decidePolicyFor:decisionHandler:)
heißt für dieursprüngliche URL-Anfrage.
WKWebView
'sURL
- Eigenschaft auf denoriginal-URL.
Den
WKNavigationDelegate
FunktionwebView(_:didStartProvisionalNavigation:)
heißt für dieursprüngliche URL-Anfrage.
WKWebView
'sURL
- Eigenschaft auf denoriginal-URL.
Den
WKWebView
'sURL
- Eigenschaft aktualisiert wird, indem Sie WebKit, um die Umleitungs-URL. (Sie werden nur wissen, über diese, wenn Sie Schlüssel-Wert -die Beobachtung der Eigenschaft.)
Den
WKNavigationDelegate
FunktionwebView(_:decidePolicyFor:decisionHandler:)
heißt für dieWeiterleitung der URL-Anforderung.
WKWebView
'sURL
Eigenschaft ist dannUmleitungs-URL.
Den
WKNavigationDelegate
FunktionwebView(_:didReceiveServerRedirectForProvisionalNavigation:)
istgenannt.
WKWebView
'sURL
Eigenschaft ist dieUmleitungs-URL.
(Hinweis: Auf der iOS 11.0-simulator, die ich gesehen habe die Schritte 3 und 4 vertauscht, mit der
URL
Eigenschaft unverändert inwebView(_:decidePolicyFor:decisionHandler:)
, die wirklich scheint wie eine vernünftige Bestellung, aber ich habe nicht beobachtet, das auf ein Gerät.)Scheint es, wie die
webView(_:didReceiveServerRedirectForProvisionalNavigation:)
ist gebaut, die explizit für den Zweck der Erkennung von Umleitungen, so ist wahrscheinlich die bevorzugte option, obwohl der redirect könnte möglicherweise geschlossen werden, in den Stufen 3 oder 4, aber nur, wenn Sie sicher sein können, dass es keine anderen Ursachen der Navigations ändern.