iOS加载WebView上图片获取

定义一个获取图片

@property(nonatomic,strong)NSMutableArray *imgUrlArray;
- (NSMutableArray *)imgUrlArray { if (!_imgUrlArray) { _imgUrlArray = [NSMutableArray array]; } return _imgUrlArray; }

初始化webview 没有头部的添加上头部
    NSString *htmlString = [NSString stringWithFormat:@"内容",_newtitle,_content];
    [_webView loadHTMLString:htmlString baseURL:nil];
附上头部内容格式

%@


%@
接着就是写webview的代理了
/**
 *  开始加载webView
 */
- (void)webViewDidStartLoad:(UIWebView *)webView {
  //@"正在加载"
}
/**
 *  webView加载完成
 */
- (void)webViewDidFinishLoad:(UIWebView *)webView {
    // 网页注入JS获取图片资源、添加点击事件
    //这里是js,主要目的实现对url的获取
    static  NSString * const jsGetImages = @"function getImages(){\
    var objs = document.getElementsByTagName(\"img\");\
    var imgScr = '';\
    for(var i=0;i= 2) {
        [self.imgUrlArray removeLastObject];
    }
    //图片添加点击js
    [webView stringByEvaluatingJavaScriptFromString:@"function registerImageClickAction(){\
     var imgs=document.getElementsByTagName('img');\
     var length=imgs.length;\
     for(var i=0;i

处理点击事件 执行跳转界面显示图片 或者其他显示图片事件

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
    //预览图片
    if ([request.URL.scheme isEqualToString:@"image-preview"]) {
        //操作
    }
    return YES;
}
 *  webView加载失败
 */
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error {
    
    [SVProgressHUD dismiss];
    [MBProgressHUD showInfoMessage:@"加载失败"];
}

你可能感兴趣的:(iOS加载WebView上图片获取)