请问我有一个问题,我怎么能检测到WKWebView完成加载所以我可以从中获取URL,例如webView委托方法? 我实现了WKWebView的委托方法,但我无法检测何时完成加载视频?
以下我的代码:
import UIKit
import WebKit
class ViewController: UIViewController,WKUIDelegate,WKNavigationDelegate {
var webView:WKWebView!
override func viewDidLoad() {
super.viewDidLoad()
let preference = WKPreferences()
preference.javaScriptEnabled = true
let configuration = WKWebViewConfiguration()
configuration.preferences = preference
webView = WKWebView(frame: view.bounds, configuration: configuration)
view.addSubview(webView)
webView.uiDelegate = self
webView.navigationDelegate = self
webView.load(URLRequest(url: URL(string: "http://www.youtube.com")!))
}
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
print("finish loading video")
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
但是当我从youtube完成加载视频时,上面的方法不会调用它
非常感谢
答案 0 :(得分:1)
SWIFT 4:
使用WKNavigationDelegate的以下委托方法。在哪里可以检查是否已完成加载?在这里,您可以将URL加载到webView中。
func webView(_ webView: WKWebView, didCommit navigation: WKNavigation!)
{
let url = webView.url?.absoluteString
print("---Hitted URL--->\(url!)") // here you are getting URL
}