iOS Swift:无法检索UIwebView中加载的当前url

Add*_*tar 3 uiwebview ios swift xcode-6.2

我在webview应用程序iOS swift工作:

我面临的问题是我想得到webview显示的每个网址:

在网址上我必须执行一些if else检查.但我无法得到webview加载的网址.

webview显示精细结果并在点击时加载网址.我想获取webview导航的所有网址.

import Foundation
import UIKit


class seconVC: UIViewController {

    var toPass:String!
    var touser:String!
    var toPassing:String!



    @IBOutlet weak var webV: UIWebView!

    @IBOutlet weak var L_back: UIBarButtonItem!

    @IBOutlet weak var R_frwrd: UIBarButtonItem!

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.

        var domurl = toPass;

        var username = touser;

        var passwing = toPassing;



        var sendurl = stringA+username+"/"+passwing;

        //exchange login with auth/username/password
        println(sendurl);

        let url = NSURL (string: sendurl);


        let requestObj = NSURLRequest(URL: url!);
        webV.userInteractionEnabled = true
        webV.loadRequest(requestObj);



    }

    @IBAction func L_back(sender: UIBarButtonItem) {

        if (webV.canGoBack){
            webV.goBack()
        }


    }

    @IBAction func R_frwrd(sender: UIBarButtonItem) {

        if (webV.canGoForward){
            webV.goForward()
        }

    }



    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.


    }



}
Run Code Online (Sandbox Code Playgroud)

我想要的是为webview获取当前网址和导航按钮的字符串:请帮忙吗?我提到所有互联网没有解决方案在我的情况下工作.

iMu*_*hid 6

有几个UIWebViewDelegate这样的shouldStartLoadWithRequestwebViewDidStartLoadwebViewDidFinishLoaddidFailLoadWithError帮助您实现目标.如果要在视图完成后执行操作,请实现此委托方法

斯威夫特3

if let currentURL = webView.request?.url?.absoluteString{
         print(currentURL)
    }
Run Code Online (Sandbox Code Playgroud)

正如它在这里提到的.


Anb*_*hik 5

选项1

let currentURL = webV.request.URL.absoluteString
Run Code Online (Sandbox Code Playgroud)

选项2

在委托方法中获取URL

func webViewDidFinishLoad(webView: UIWebView){
    print(WebView.request?.mainDocumentURL)
}
Run Code Online (Sandbox Code Playgroud)

选项-3

func webViewDidFinishLoad(webView: UIWebView) {
let currentURL = webView.request().URL()
print("\(currentURL.description)")
}
Run Code Online (Sandbox Code Playgroud)

或使用像

 func webViewDidFinishLoad(webView: UIWebView){
 let currentURL = webView.request?.URL
}
Run Code Online (Sandbox Code Playgroud)

选项-4

func webViewDidFinishLoad(webView: UIWebView) {
let currentURL: = webView.stringByEvaluatingJavaScriptFromString("window.location.href")!
print("\(currentURL)")
}
Run Code Online (Sandbox Code Playgroud)

选项-5

func webView(webview: UIWebView, shouldStartLoadWithRequest request: NSURLRequest, navigationType: UIWebViewNavigationType) -> Bool {
let currentURL = request.URL.absoluteString
print("\(currentURL)")
}
Run Code Online (Sandbox Code Playgroud)

选项-6

func webViewDidFinishLoad(WebVie: UIWebView) {
  let currentURL = WebVie.request.mainDocumentURL
   print("\(currentURL)")
}
Run Code Online (Sandbox Code Playgroud)