禁止在"WKWebView"/"UIWebView"中打开通用链接 [英] Prevent universal links from opening in `WKWebView`/`UIWebView`
问题描述
当用户点击WKWebView
中的通用链接时,将打开相应的应用程序(如果已安装).
When user tap on a universal link in WKWebView
, the corresponding app will be opened (if installed).
如果您实例化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屋!