登录 立即注册
金钱:

Code4App-iOS开发-iOS 开源代码库-iOS代码实例搜索-iOS特效示例-iOS代码例子下载-Code4App.com

通用WebView自动转换版本支持提取网页图片

[复制链接]
来自: 2klsy 分类: iOS精品源码 上传时间: 2016-11-4 10:08:48
Tag:webview 网页 UIWebView WKWebView API

项目介绍:

WebView

github地址

  • 统一了UIWebView与WKWebView部分通用的API

  • 系统小于iOS8时切换到UIWebView。否则使用WKWebView

  • 支持自动提取WebView中的图片并通过相关的属性或代理方法获取

  • 支持通过KVO获取WebView高度,加载进度,网页标题等


WebView代理方法

统一了UIWebViewWKWebView的代理方法。所有的代理方法都以jh开头

@protocol JHWebViewDelegate <NSObject>
@optional
- (BOOL)jh_webView:(id<JHWebViewProtocol>)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(JHWebViewNavigationType)navigationType;
- (void)jh_webViewDidStartLoad:(id<JHWebViewProtocol>)webView;
- (void)jh_webViewDidFinishLoad:(id<JHWebViewProtocol>)webView;
- (void)jh_webView:(id<JHWebViewProtocol>)webView didFailLoadWithError:(NSError *)error;
@end

使用

封装的方法参考了WKWebView的API,首先创建一个配置类设置WebView相关属性然后初始化WebView

    JHWebViewConfiguration *configuration = [[JHWebViewConfiguration alloc] init];
    configuration.scalesPageToFit = NO;
    configuration.loadingHUD = YES;     //是否显示加载遮罩
    configuration.captureImage = YES;   //是否捕获图片
    JHWebView *webView = [JHWebView webViewWithFrame:CGRectMake(0, 0, self.view.width, 400) configuration:configuration];   //
    webView.delegate = self;
    [_webView addObserver:self forKeyPath:@"pageHeight" options:NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld context:NULL]; //通过KVO监听页面高度

如果想要捕获图片并且在点击图片时获取相应<img>标签的src属性时


-(BOOL)jh_webView:(id<JHWebViewProtocol>)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(JHWebViewNavigationType)navigationType
{
    if ([request.URL.absoluteString hasPrefix:@"img"]) {
        NSString *imageStr = [request.URL.absoluteString substringFromIndex:3];
        NSUInteger idx = [webView.images indexOfObject:imageStr];
        if (idx != NSNotFound) {
            //webView.images属性为网页中所有图片的数组,imageStr为图片的地址
        }
    }
    return NO;
}

code4app

相关源码推荐:

我来说两句
*滑动验证:
所有评论(10)
BlueManlove 2016-11-5 15:16:16
支持,感谢,祝code4app越来越好~
回复
kengsir 2016-11-5 15:26:06
学习...学习...
回复
phoiu 2016-11-5 15:37:06
写的真的很不错
回复
AlonMessi 2016-11-5 15:50:47
相当不错,感谢无私分享精神!
回复
littleRed 2016-11-5 16:07:57
code4app确实是个好地方,必须支持~
回复
hellokenken 2016-11-5 16:28:57
相当不错,感谢无私分享精神!
回复
xiao66guo 2016-11-6 00:04:05
楼主威武啊,Code4App有你更给力!
回复
code4app热心网友 2016-11-6 18:30:16
感谢分享,Code4App有你更精彩:)
回复
code4app热心网友 2016-11-7 08:43:28
楼主用心了,内容非常精彩。
回复
12下一页
提取码:  下载次数:53 状态:已购或VIP 售价:0(原价:10)金钱 下载权限:初级码农 
1461 0 53
联系我们
首页/微信公众账号投稿

帖子代码编辑/版权问题

QQ:435399051,742864542

如何获得代码达人称号?

代码贡献英雄榜
用户名 下载数
通过邮件订阅最新 Code4App 信息
上一条 /4 下一条
联系我们
关闭
合作电话:
13802416937
Email:
435399051@qq.com
商务市场合作/投稿
问题反馈及帮助
联系我们

广告投放| Github|申请友链|手机版|Code4App ( 粤ICP备15117877号-1 )

快速回复 返回顶部 返回列表