1.视频播放
WKWebViewConfiguration *configuration = [[WKWebViewConfiguration alloc]init];
//设置HTML5视频是否允许网页播放 设置为NO则会使用本地播放器
configuration.allowsInlineMediaPlayback=true;
self.bgWebView = [[WKWebView alloc]initWithFrame:CGRectMake(0, 0, 0, 0) configuration:configuration];
2.链接带空格字符
NSString *encodedString = @"https://budu-test.manniuhealth.com/oauthbridge/code?bud_c=ciming&clientId=3173c587-aaaf-4012-85e9-cee313f972b1&Authorization=bearer 26e2f127-1373-4dac-a920-887c746e73e1";
//替换空格,为%20
NSString *strUrl = [encodedString stringByReplacingOccurrencesOfString:@" " withString:@"%20"];
self.urlString = strUrl;
3.kvo监听title,url变化
[self.bgWebView addObserver:self forKeyPath:@"estimatedProgress" options:NSKeyValueObservingOptionNew context:nil];
[self.bgWebView addObserver:self forKeyPath:@"title" options:NSKeyValueObservingOptionNew context:NULL];
[self.bgWebView addObserver:self forKeyPath:@"URL" options:NSKeyValueObservingOptionNew context:NULL];
监听回调
-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSKeyValueChangeKey,id> *)change context:(void *)context{
if ([keyPath isEqualToString:@"estimatedProgress"]) {
//网页加载进度,在这里可以做网页加载进度条
}else if ([keyPath isEqualToString:@"title"]){
//根据网页title设置当前导航title
self.title = change[@"new"];
}else if ([keyPath isEqualToString:@"URL"]){
//部分页面跳转加载,不会走wkwebview的代理方法,通过监听url变化可以知道页面的改变
YuToolNSLog(@"URL变化---%@",change[@"new"]);
}
}
4.打印h5页面栈
YuToolNSLog(@"backListURL数组---%ld",self.bgWebView.backForwardList.backList.count);
YuToolNSLog(@"forwardListURL数组---%ld",self.bgWebView.backForwardList.forwardList.count);
for (WKBackForwardListItem * item in self.bgWebView.backForwardList.backList) {
NSLog(@"h5页面栈---%@",item.URL);
}
5.js与原生交互
1.拦截url(适用于UIWebView和WKWebView)
2.JavaScriptCore(只适用于UIWebView,iOS7+)
3.WKScriptMessageHandler(只适用于WKWebView,iOS8+)
4.WebViewJavascriptBridge(适用于UIWebView和WKWebView,属于第三方框架)
- DSBridge(号称最好用的javascript bridge,国人项目,有详细中文文档和问题反馈渠道。)
6.h5微信与支付宝支付
目标:h5支付直接调起微信与支付宝客户端进行支付,支付完成或取消支付后返回至app,并跳转到支付结果页
单独开一篇文章记录:https://www.jianshu.com/p/f2f5102f9061
网友评论