How to get JSContext from WKWebView

You cannot obtain the context, because layout and javascript is handled on another process. Instead, add scripts to your webview configuration, and set your view controller (or another object) as the script message handler. Now, send messages from JavaScript like so: window.webkit.messageHandlers.interOp.postMessage(message) Your script message handler will receive a callback: – (void)userContentController:(WKUserContentController *)userContentController didReceiveScriptMessage:(WKScriptMessage *)message{ … Read more

Get the current full URL for WKWebView

You can get URL for a newly requested Webpage by “navigationAction.request.URL” in decidePolicyForNavigationAction delegate method. func webView(webView: WKWebView, decidePolicyForNavigationAction navigationAction: WKNavigationAction, decisionHandler: (WKNavigationActionPolicy) -> Void) { if let urlStr = navigationAction.request.URL?.absoluteString{ //urlStr is what you want, I guess. } decisionHandler(.Allow) }