美文网首页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