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

有时我们用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每次连接都会进入此委托....


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值