2016-12-03 30 views
2

我有问题,如何从webView中获取url? 我执行下面的代码,我得到我想要的nil如何从swift中获取webView中的URL

代码:

override func viewWillAppear(_ animated: Bool) { 
    super.viewWillAppear(true) 
    webView.loadRequest(URLRequest(url: URL(string: "https://www.youtube.com/watch?v=Vv2zJErQt84")!)) 
    if let text = webView.request?.url?.absoluteString{ 
     print(text) 
    } 
} 

回答

7

因为webView尚未完成的所请求URL加载你没有得到的网址,你可以得到URLwebViewDidFinishLoad方法UIWebviewDelegate。为此,您需要将webView的代表设置为您当前的ViewController并需要实施UIWebviewDelegate。现在

webView.delegate = self 

你可以得到电流webViewDidFinishLoad方法加载的webViewURL

func webViewDidFinishLoad(_ webView: UIWebView) { 
    if let text = webView.request?.url?.absoluteString{ 
     print(text) 
    } 
} 
+0

它的工作非常感谢你 –

+0

@HaiderAhmed欢迎队友:) –

0

这里有一个斯威夫特3版本,请确保你已经在你的类dseclaration添加UIWebViewDelegateviewDidload()设置webView.delegate = self

func webViewDidFinishLoad(_ webView: UIWebView) { 
    UIApplication.shared.isNetworkActivityIndicatorVisible = false 

    let urlString = webView.request!.url!.absoluteString 
    print("MY WEBVIEW URL: \(urlString)") 
}