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: 
Implement the `WKNavigationDelegate` protocol:

```
@interface ViewController () <WKNavigationDelegate>

```

Set your `WKWebView`'s `navigationDelegate` property:

```
self.wkWebView.navigationDelegate = self;

```

Then implement the policy for the URL(s) that you want to restrict:

```
- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler {

    if ([navigationAction.request.URL.absoluteString containsString:@"somedomain.com/url/here"]) {
        decisionHandler(WKNavigationActionPolicyAllow);
    }
    else {
        decisionHandler(WKNavigationActionPolicyCancel);
    }
}

```
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)'; }")
}

```