iOS WKWebView高度自适应以及截获页面点击的url
来源:互联网 发布:淘宝白底图片的作用 编辑:程序博客网 时间:2024/05/16 12:38
首先来看下UIWebView的做法:
UIWebView *webView = [[UIWebViewalloc]initWithFrame:CGRectMake(0,0,WIDTH,0)];
webView.delegate =self;
[self.viewaddSubview:webView];
[webView loadHTMLString:html/*html内容*/ baseURL:nil];
-(void)webViewDidFinishLoad:(UIWebView*) webView {
//获取页面高度,并重置webview的frame
CGFloat documentHeight = [[webViewstringByEvaluatingJavaScriptFromString:@"document.getElementById(\"content\").offsetHeight;"]floatValue];
CGRect frame = webView.frame;
frame.size.height = documentHeight;
webView.frame = frame;
}
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
NSString* strRequest = request.URL.absoluteString;
if([strRequestisEqualToString:@"about:blank"]) {//主页面加载内容
returnYES;//允许跳转
} else {//截获页面里面的链接点击
//do something you want
returnNO;//不允许跳转
}
}
在来对应看下WKWebView:
WKWebView *wkWebview = [[WKWebView alloc] initWithFrame:CGRectMake(0, 0, WIDTH, 0)];
wkWebview.navigationDelegate = self;
[self.view wkWebview];
[wkWebview loadHTMLString:html/*html内容*/ baseURL:nil];
- (void)webView:(WKWebView *)webView didFinishNavigation:(null_unspecifiedWKNavigation *)navigation {
[webView evaluateJavaScript:@"document.getElementById(\"content\").offsetHeight;"completionHandler:^(id_Nullable result,NSError *_Nullable error) {
//获取页面高度,并重置webview的frame
CGFloat documentHeight = [resultdoubleValue];
CGRect frame = webView.frame;
frame.size.height = documentHeight;
webView.frame = frame;
}];
}
// 类似 UIWebView的 -webView: shouldStartLoadWithRequest: navigationType:
- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler {
NSString *strRequest = [navigationAction.request.URL.absoluteStringstringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
if([strRequestisEqualToString:@"about:blank"]) {//主页面加载内容
decisionHandler(WKNavigationActionPolicyAllow);//允许跳转
} else {//截获页面里面的链接点击
//do something you want
decisionHandler(WKNavigationActionPolicyCancel);//不允许跳转
}
}
高度自适应代码下载链接:http://download.csdn.net/detail/luco2008/9502733
- iOS WKWebView高度自适应以及截获页面点击的url
- iOS WKWebView高度自适应以及截获页面点击的url
- WKWebView、UIWebView 高度自适应
- iOS 使用 WKWebView 无法截获上、下手势的问题解决
- WKWebView 自适应高度 及在UIScrollView上的滑动 缩放
- iOS-获取UIWebView或者WKWebView页面的左右图片链接,点击查看大图
- IOS WKWebView初级使用 以及WKWebView进度条的添加
- iOS--UITextView的高度自适应
- ios label高度的自适应
- UILabel高度的自适应以及UITableViewCell的高度自适应
- 页面样式高度自适应的问题
- 页面高度的取值与ifarme高度的自适应
- 自适应页面高度
- html页面高度自适应
- angularjs 页面自适应高度
- iOS WKWebView 加载网页 点击link不会跳转的解决方案
- IOS Swift语言开发 tableView的重用以及自cell的自适应高度
- 让外层iframe的高度自适应加载页面高度
- Linux nl --让输出的文件内容自动加上行号
- 移动机器人技术
- SWUST OJ 1804 二进制
- Linux学习要点总结
- Wuartz Cron表达式的格式
- iOS WKWebView高度自适应以及截获页面点击的url
- 各种编码
- Android 程序框架设计
- C++第三次作业
- 基于注解的Spring MVC的URL与Controller映射关系提取的实现分析
- C++实验3-类和对象2
- 腾讯2016实习生笔试题 获得最长回文串长度
- javascript设计模式(二)--闭包实现
- Android -- Looper.prepare()和Looper.loop() —深入版