iOS WkWebView - 这种情况有什么区别?

iOS WkWebView - What is the difference in this situation?

我有下面的源代码。

当 URL scheme 有 tel, sms, item- 或 mailto 时,WkWebview 将打开应用程序。 (item 和 mailto 是我们的自定义方案)

我想知道使用 decisionHandler(.cancle) 和 decisionHandler(.allow) 有什么区别,因为在这两种情况下实现 UIApplication.shared.open(URL) 是一样的。

 if scheme == "tel" || scheme == "sms" || scheme == "itms-services" {
            UIApplication.shared.open(destinationUrl)
            decisionHandler(.allow)
            return
        }
        
        else if scheme == "mailto" {
            UIApplication.shared.open(URL(string: "ncsone://mail/write"))
            decisionHandler(.cancel)
            return
        }

WKNavigationDelegate 的官方文档所述,将 decisionHandler.cancel 值一起使用将阻止 WKWebView 加载 [=] 的内容13=].

这可能用于防止 webview 导航到未知 URL。