美文网首页webView与APP
WKWebView中实现点击图片查看大图-ios

WKWebView中实现点击图片查看大图-ios

作者: 桔子橙子柚子_F | 来源:发表于2018-11-22 10:25 被阅读0次
//加载完成 
- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation {
  //注入js 遍历img标签添加点击事件:跳转至自定义链接(包含图片src)
//由于需求没有点击某个图片 侧滑查看所有图片(如有for循环结束时return objs.length;)
    static  NSString * const jsGetImages =
    @"function getImages(){\
    var objs = document.getElementsByTagName(\"img\");\
    for(var i=0;i<objs.length;i++){\
    objs[i].onclick=function(){\
    document.location=\"myweb:imageClick:\"+this.src;\
    };\
    };\
    };";
//调用自定义js
    [webView evaluateJavaScript:jsGetImages completionHandler:^(id _Nullable result, NSError * _Nullable error) {
        NSLog(@"%@",result);
    }];
}

- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler {
//捕获跳转链接
    NSURL *URL = navigationAction.request.URL;
    NSString *str = [NSString stringWithFormat:@"%@",URL];
    if ([str containsString:@"myweb:imageClick:"]) {
        //查看大图
        decisionHandler(WKNavigationActionPolicyCancel); // 必须实现 不加载
       ……
    }else {
         decisionHandler(WKNavigationActionPolicyAllow);  // 必须实现 加载
    }
}

借鉴文章:https://blog.csdn.net/Zhi_Sheng/article/details/53158268

相关文章

网友评论

    本文标题:WKWebView中实现点击图片查看大图-ios

    本文链接:https://www.haomeiwen.com/subject/ccwkqqtx.html