How can I detect when my WKWebView
is finished loading so that I can fetch the URL from it such as using the delegate method?
I implemented the delegate method for the WKWebView
but I can't detect when it is finish loading the video.
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")
}
}
But the method above is not called when it finishes loading the video from YouTube.
Thank you very much.
To check if your WKWebView has loaded easily implement the following method: import WebKit import UIKit class ViewController: UIViewController, WKNavigationDelegate { let webView = WKWebView() func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!)
To clear old contents of webview With UIWebView you would use UIWebViewDelegate 's - webViewDidFinishLoad: .
A WKWebView object is a platform-native view that you use to incorporate web content seamlessly into your app's UI. A web view supports a full web-browsing experience, and presents HTML, CSS, and JavaScript content alongside your app's native views.
SWIFT 4:
Use following delegate method of WKNavigationDelegate. Where you can check is finished loading ?? And here you can get URL loaded in webView.
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!)
{
let url = webView.url?.absoluteString
print("---Hitted URL--->\(url!)") // here you are getting URL
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With