Safari 中的 UIWebView 打开链接不起作用?
Posted
技术标签:
【中文标题】Safari 中的 UIWebView 打开链接不起作用?【英文标题】:UIWebView open link in Safari not working? 【发布时间】:2011-12-15 15:35:00 【问题描述】:我正在我的 iPhone 应用程序中处理常见问题解答页面。我在顶部有一些问题链接将直接在底部回答。有些答案有我想在 Safari 而不是 UIWebView 中打开的外部链接。
我找到了这段代码 来自here:
-(BOOL) webView:(UIWebView *)inWeb shouldStartLoadWithRequest:(NSURLRequest *)inRequest navigationType:(UIWebViewNavigationType)inType
if ( inType == UIWebViewNavigationTypeLinkClicked )
[[UIApplication sharedApplication] openURL:[inRequest URL]];
return NO;
return YES;
出于某种原因,我需要单击该链接两次才能打开该链接。第一次触摸它突出显示的链接。第二次触摸它转到目的地的链接或它在 Safari 中打开的我的外部链接。但是,如果我删除上面的代码,它会在第一次触摸时工作,但外部链接会在我的 WebView 中打开。
注意:我有一个 UIWebView 委托名称 wvFAQ。你认为我在代码上遗漏了什么吗?
问题:如何单击打开链接?
【问题讨论】:
【参考方案1】:终于在here找到了我的问题的答案
答案如下:
-(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;
【讨论】:
以上是关于Safari 中的 UIWebView 打开链接不起作用?的主要内容,如果未能解决你的问题,请参考以下文章
通过 UIWebView 从网页打开 Safari 中的链接
如何从 UIWebView 打开 safari.app 中的外部链接?
当我单击 UIWebView 时,如何在 Safari 中打开链接?