禁止在"WKWebView"/"UIWebView"中打开通用链接 [英] Prevent universal links from opening in `WKWebView`/`UIWebView`

查看:217
本文介绍了禁止在"WKWebView"/"UIWebView"中打开通用链接的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当用户点击WKWebView中的通用链接时,将打开相应的应用程序(如果已安装).

When user tap on a universal link in WKWebView, the corresponding app will be opened (if installed).

Apple搜索编程指南

如果您实例化SFSafariViewController,WKWebView或UIWebView对象以处理通用链接,则iOS会在Safari中打开您的网站,而不是打开您的应用程序.但是,如果用户从嵌入式SFSafariViewController,WKWebView或UIWebView对象中点击通用链接,则iOS会打开您的应用.

If you instantiate a SFSafariViewController, WKWebView, or UIWebView object to handle a universal link, iOS opens your website in Safari instead of opening your app. However, if the user taps a universal link from within an embedded SFSafariViewController, WKWebView, or UIWebView object, iOS opens your app.

在我的应用程序中,我有一个WKWebView,但是我不希望用户退出我的应用程序.我想处理我的WKWebView中的链接.

In my app, I have a WKWebView, but I don't want the user to go out of my app. I want to handle the link within my WKWebView.

如何防止通用链接打开?还是可以知道其他应用程序是否可以处理URL?

How do I prevent universal link from opening? Or can I know if a URL could be handle by other apps?

推荐答案

WebKit的源代码:

sourcecode for WebKit:

static const WKNavigationActionPolicy WK_API_AVAILABLE(macosx(10.11), ios(9.0)) _WKNavigationActionPolicyAllowWithoutTryingAppLink = (WKNavigationActionPolicy)(WKNavigationActionPolicyAllow + 2);

如果使用的是WKWebView,则只需使用WKNavigationActionPolicyAllow + 2而不是WKNavigationActionPolicyAllow

if you are using WKWebView, just use WKNavigationActionPolicyAllow + 2 instead of WKNavigationActionPolicyAllow

这篇关于禁止在"WKWebView"/"UIWebView"中打开通用链接的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆