swift - 如何快速从 webView 获取 URL

标签 swift uiwebview swift3 nsurl

我有问题,如何从 webView 获取 url? 我执行以下代码并得到 nil

我正在尝试的代码:

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)
    }
}

最佳答案

你没有得到 url 因为 webView 还没有完成请求的 URL 的加载,你可以在 中得到那个 URL UIWebviewDelegate 的 webViewDidFinishLoad 方法。为此,您需要使用当前的 ViewController 设置 webView 的委托(delegate),并且需要实现 UIWebviewDelegate

webView.delegate = self

现在您可以在 webViewDidFinishLoad 方法中获取当前加载的 webViewURL

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

关于swift - 如何快速从 webView 获取 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40946931/

相关文章:

swift - 照片场景处理完成后出现进度消息错误

swift - 导入本地 swift 模块

swift - 为什么我的字符串清理函数返回原始值?

ios - 默认标注 View 内的按钮停止响应触摸

ios - UIActivityViewController 在使用 sourceView 或 barButtonItem 的 iPad 上崩溃

iphone - 在 webview 显示本地 HTML 页面之前几毫秒出现空白屏幕

ios - 将条形按钮项目设置为导航 Controller 上的后退按钮

ios - 如何清除 iOS 中 UIWebViews 的 localStorage

objective-c - Swift 3 中的 withMemoryRebound 不适用于 Objective-C 结构指针

debugging - WatchKit 错误与 "no symbols for paired Apple watch"watchOS 3.1