当我在我的应用程序中浏览某些链接时(在UIWebView中),它会打开我设备中安装的该链接的应用程序。如何限制它打开外部应用程序并在我的UIWebView中加载相同的URL。
答案 0 :(得分:0)
您可以在UIWebViewDelegate中使用func webView(UIWebView, shouldStartLoadWith: URLRequest, navigationType: UIWebViewNavigationType)
来执行此操作。例如:
func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool {
let urlString = request.url?.absoluteString ?? ""
if urlString == <your app link on webview> {
return false
}
return true
}
您现在只需将<your app link on webview>
替换为您不希望网络视图导航到的实际链接
答案 1 :(得分:0)
也许有人会发现它很有用:
func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool {
if navigationType == .linkClicked, let req = request.urlRequest {
webView.loadRequest(req)
return false
}
return true
}
因此,我阻止在侧面应用程序中打开链接,例如YouTube应用程序,但在UIWebView中打开它。