我在uiwebview中有一个网页..在这个页面上有几个http://链接。其中一个我想在safari中打开它。其余的可以在UIWebview中打开。 我到目前为止使用了这个代码;UIWebview:在safari中打开某些链接(不是全部)
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;
{
NSURL *requestURL = [ [ request URL ] retain ];
// Check to see what protocol/scheme the requested URL is.
if (([ [ requestURL scheme ] isEqualToString: @"http" ]
|| [ [ requestURL scheme ] isEqualToString: @"https" ])
&& (navigationType == UIWebViewNavigationTypeLinkClicked)) {
return ![ [ UIApplication sharedApplication ] openURL: [ requestURL autorelease ] ];
}
// Auto release
[ requestURL release ];
// If request url is something other than http or https it will open
// in UIWebView. You could also check for the other following
// protocols: tel, mailto and sms
return YES;
}
这工作正常HTTP和HTTPS等。我的想法是使网站点的链接之一,Safari浏览器://blah.com并更改上面的代码;
if (([ [ requestURL scheme ] isEqualToString: @"safari" ]
|| [ [ requestURL scheme ] isEqualToString: @"https" ])
希望这会打开safari:// url在safari中,其余的在UIWebview中。但没有运气。 似乎只有标准的东西(如http https tel mailto和短信)在这里工作。 任何想法如何解决这个问题?
我知道我们将在这里工作两年,但是您会接受我的答案,因为它有许多upvotes,实际上是解决方案吗?我可以使用我第一个接受的答案! :) – 2012-08-14 07:27:13