gpt4 book ai didi

iphone - 强制 WebView 链接启动 Safari?

转载 作者:IT王子 更新时间:2023-10-29 07:39:59 24 4
gpt4 key购买 nike

我在我的 iPhone 应用程序中嵌入了一个 UIWebView。我希望能够将该 WebView 中的某些链接打开到完整的 Mobile Safari 应用程序(即不是我的嵌入式版本)。

是否有一种简单的方法来构造我的一些 href 来强制执行此操作,而不是在我的嵌入式 webview 中打开每个链接?

谢谢。

最佳答案

为了扩展 Randy 所说的内容,这是我在我的应用程序中用来在外部 Safari 或 Mail 应用程序中打开每个 http://、https://和 mailto://URL 的方法:

-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType; 
{
NSURL *requestURL =[ [ request URL ] retain ];
if ( ( [ [ requestURL scheme ] isEqualToString: @"http" ] || [ [ requestURL scheme ] isEqualToString: @"https" ] || [ [ requestURL scheme ] isEqualToString: @"mailto" ])
&& ( navigationType == UIWebViewNavigationTypeLinkClicked ) ) {
return ![ [ UIApplication sharedApplication ] openURL: [ requestURL autorelease ] ];
}
[ requestURL release ];
return YES;
}

正如 Randy 所说,您需要在您设置为 UIWebView 委托(delegate)的任何类中实现它。要仅选择 URL 启动 Safari,您可以将它们的方案从 http://更改为 safari://或类似的东西,并且只将这些 URL 踢到系统(在将自定义 URL 方案替换为 http://之后) .

我在我的内部帮助文档中执行此操作,它是在 UIWebView 中显示的 HTML,这样我就不会在审查过程中遇到问题,因为我的应用程序中嵌入了通用 Web 浏览器。

关于iphone - 强制 WebView 链接启动 Safari?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2532453/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com