您的位置:首页 > 移动开发

iOS-获取UIWebView或者WKWebView页面的左右图片链接,点击查看大图

2018-02-08 16:33 781 查看


导入JS

[objc] view
plain copy

<span style="font-size:18px;">- (void)webViewDidFinishLoad:(UIWebView *)webView{  

    //这里是js,主要目的实现对url的获取 body  

    static  NSString * const jsGetImages =  

    @"function getImages(){\ 

    var objs = document.querySelectorAll(\"body img\");\  

    var imgScr = '';\  

    for(var i=0;i<objs.length;i++){\  

    imgScr = imgScr + objs[i].src + '+';\  

    };\  

    return imgScr;\  

    };";  

      

    [webView stringByEvaluatingJavaScriptFromString:jsGetImages];//注入js方法  

    NSString *urlResurlt = [webView stringByEvaluatingJavaScriptFromString:@"getImages()"];  

    NSLog(@"urlResurlt == %@",urlResurlt);  

    [self.urlArray addObjectsFromArray:[urlResurlt componentsSeparatedByString:@"+"]];  

    if (self.urlArray.count >= 2) {  

        [self.urlArray removeLastObject];  

    }  

    //urlResurlt 就是获取到得所有图片的url的拼接;mUrlArray就是所有Url的数组  

      

    //添加图片可点击js  

    [webView stringByEvaluatingJavaScriptFromString:@"function registerImageClickAction(){\ 

     var imgs = document.querySelectorAll(\"body img\");\  

     var length = imgs.length;\  

     for(var i=0;i<length;i++){\  

     img = imgs[i];\  

     img.onclick=function(){\  

     window.location.href='image-preview:'+this.src}\  

     }\  

     }"];  

    [webView stringByEvaluatingJavaScriptFromString:@"registerImageClickAction();"];  

}</span>  


获取点击链接

[objc] view
plain copy

<span style="font-size:18px;">- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{  

    //预览图片  

    if ([request.URL.scheme isEqualToString:@"image-preview"]) {  

        NSString * imgUrl = [request.URL.absoluteString substringFromIndex:[@"image-preview:" length]];  

        [imgUrl stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];  

        //path 就是被点击图片的url  

        [self showSDPhotoBrowser:imgUrl];  

        return NO;  

    }  

    return YES;  

}</span>  


演示

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: