2016-12-03 60 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)") 
}