iphone--UIWebView中打开或禁用超链接

来源:互联网 发布:plc 单片机 区别 编辑:程序博客网 时间:2024/06/17 23:12

有时我们用UIWebView显示html内容时,会出现html中有超链接的情况,这时我们如果想在用点击超链接时用调用iOS系统的Safari打开这些目标链接,而不是在UIWebView里面打开,我们可以用以下方法,在UIWebView 的委托中实现

#pragma mark - UIWebView Delegate- (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;}

如果想在用户点击这些超链接时,不去响应这些链接(默认会在本UIwebView直接打开),可以在上面的委托返回NO,不过要在第一次加载完UIWebView后才返回NO,不然UIWebView加载不出内容,因为UIWebView每次连接都会进入此委托....


原创粉丝点击