2016-04-23 12 views

Antwort

0

So haben Sie ein WKWebView und wenn der Benutzer klickt ein Link, den Sie sehen möchten, wenn die URL dieses Links eine bestimmte Zeichenfolge enthält?

Sie sollten Ihre View-Controller wie die Web-Ansicht des navigationDelegate und dann man die WKNavigationDelegate Methoden verwenden, um einzurichten können wie

webView(_ webView: WKWebView, 
    didCommitNavigation navigation: WKNavigation!) 

Ich habe WKWebView nicht verwendet, so dass ich bin mir nicht ganz klar darüber, wie Sie erhalten die URL, mit der der Benutzer verknüpft ist. Es sieht so aus, als ob Sie die URL-Eigenschaft der Web-Ansicht in der Methode didCommitNavigation überprüfen würden.

+0

Es wurde bereits als Navigationsdelegate eingerichtet, (ich denke) - als dies ist in meiner ersten Zeile Code: "Klasse ViewController: UIVi ewController, WKNavigationDelegate {"- nur keine Ahnung, wie man testet, wenn die URL die Zeichenfolge enthält, oder wie man die URL der nächsten Seite bekommt –

+0

Nein, das sagt dem Compiler einfach, dass Ihr View-Controller dem' WKNavigationDelegate 'entspricht 'Protokoll. Als nächstes müssen Sie aus Ihrer Web-Ansicht auf Ihren View-Controller ziehen und die Verbindung zum Navigations-Controller herstellen. Dann müssen Sie die 'webView: didCommitNavigation:' Methode implementieren und wenn sie aufgerufen wird, fragen Sie die Web-Ansicht nach ihrer URL. –

0

WKWebView hat Eigenschaft namens ‚URL‘, die Ihnen die aktuelle URL zu erhalten, von dieser URL können Sie überprüfen, ob das der oder nicht spezifische URL ist können Sie wie folgt überprüfen:

let strUrl = webview.URL?.absoluteString 
if strUrl.lowercaseString.rangeOfString("swift") != nil { 
    print("Url is found") 
//open the UIAlertController 
} 

Sie können diese Methode jederzeit bei der URL-Ladeanfrage Zeit, WKWebview Delegate-Methode usw. verwenden ...