Question: Is there a way to disable interactions on a webview?
So that the user can not go any further than the webview that is loaded?

EDIT:
Disabling UserInteractions is not a solution because the website still has to be scrollable.

Answer: 
First, you have to give the delegate to your webkit then add below code.
Swift 5.0

```
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
    Activity.stopAnimating()
    let javascriptStyle = "var css = '*{-webkit-touch-callout:none;-webkit-user-select:none}'; var head = document.head || document.getElementsByTagName('head')[0]; var style = document.createElement('style'); style.type = 'text/css'; style.appendChild(document.createTextNode(css)); head.appendChild(style);"
    webView.evaluateJavaScript(javascriptStyle, completionHandler: nil)
}

```

What this code will do, we add programmatically css that will disable interaction in webview
These javascript lines will disable long presses and link touches by overriding the HTML. Frame based things like embedded youtube videos will still work.

```
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
    webView.evaluateJavaScript("document.documentElement.style.webkitUserSelect='none'")
    webView.evaluateJavaScript("document.documentElement.style.webkitTouchCallout='none'")
    webView.evaluateJavaScript("var elems = document.getElementsByTagName('a'); for (var i = 0; i < elems.length; i++) { elems[i]['href'] = 'javascript:(void)'; }")
}

```