ios WKWebView链接跳转方式的设置

1、使用WKWebView的时候,点击链接不让其跳转到系统自带的Safar浏览器的设置方法:

 - (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler {

    if (navigationAction.navigationType == WKNavigationTypeLinkActivated) {//跳转别的应用如系统浏览器
        // 对于跨域,需要手动跳转
        [[UIApplication sharedApplication] openURL:navigationAction.request.URL];
        // 不允许web内跳转
        decisionHandler(WKNavigationActionPolicyCancel);
    } else {//应用的web内跳转
        decisionHandler (WKNavigationActionPolicyAllow);
    }
    return ;//不添加会崩溃

}

2、使用WKWebView的时候,点击链接让其跳转到系统自带的Safar浏览器的设置方法:

- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler {
  WKNavigationActionPolicy actionPolicy = WKNavigationActionPolicyAllow;

    NSString * urlStr = navigationAction.request.URL.absoluteString;
   BOOL  linkBool  =  [JCCommonTool isLinkAddressLinkValueTo:urlStr];//自己封装的验证是否是链接的方法
    if (linkBool == YES) {     
  actionPolicy = WKNavigationActionPolicyCancel;
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlStr]];
    }
    decisionHandler(actionPolicy);
}

3、是否是链接的判断方法

- (void)isLinkUrl:(NSString * )linkStr{
 NSString*emailRegex = @"((http[s]{0,1}|ftp)://[a-zA-Z0-9\\-.]+(?::(\\d+))?(?:(?:/[a-zA-Z0-9\\-._?,'+\\&%$=~*!():@\\\\]*)+)?)|(www.[a-zA-Z0-9\\.\\-]+\\.([a-zA-Z]{2,4})(:\\d+)?(/[a-zA-Z0-9\\.\\-~!@#$%^&*+?:_/=<>]*)?)";
    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES  %@",emailRegex];
    return [predicate evaluateWithObject:linkStr];
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,145评论 1 32
  • 1、WKWebView 白屏问题WKWebView 自诩拥有更快的加载速度,更低的内存占用,但实际上 WKWebV...
    无名感恩阅读 2,160评论 0 3
  • WKWebView 是苹果在 WWDC 2014 上推出的新一代 webView 组件,用以替代 UIKit 中笨...
    Aiana阅读 4,644评论 1 8
  • 转载:http://www.cnblogs.com/NSong/p/6489802.html 导语 WKWebVi...
    李小威阅读 4,882评论 8 9
  • 中国有中国梦,我们每个人也都有自己的人生梦想,梦想就是我们心中的目标,目标犹如灯塔般重要,人若是没有目标人就犹如迷...
    潘巧阅读 232评论 1 0