}
二、
-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
if (navigationType==UIWebViewNavigationTypeLinkClicked) {
NSString *currentUrl=request.URL.absoluteString;
[self applicationWebLoad:currentUrl];
return NO;
}
return YES;
}
-(void)applicationWebLoad:(NSString *)urlString
{
UIApplication *application=[UIApplication sharedApplication];
NSURL *url =[NSURL URLWithString:urlString];
if ([application canOpenURL:url]) {
[application openURL:url];
}
else
{
NSLog(@"open url failed");
}
}
*需要注意的是,-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType 这个方法,会在发起请求 loadRequest后调用,而且调用的次数也不是一次,直到加载完毕
本文介绍如何在iOS应用中使用UIWebView拦截并处理点击链接的行为,包括打开外部浏览器、邮件链接等,防止WebView重新加载到其他页面。

604

被折叠的 条评论
为什么被折叠?



