WKWebView常用代码
2020-07-07 本文已影响0人
hypercode
@property (strong, nonatomic) WKWebView *mainWebView;
- (WKWebView *)mainWebView{
if(!_mainWebView){
_mainWebView = [[WKWebView alloc] initWithFrame:CGRectZero];
[self.view addSubview:_mainWebView];
[_mainWebView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.and.right.and.bottom.and.top.offset(0);
}];
_mainWebView.navigationDelegate = self;
}
return _mainWebView;
}
//处理 js
NSString *bodyStr = @"document.body.innerText";
[self.mainWebView evaluateJavaScript:bodyStr completionHandler:^(id _Nullable result, NSError * _Nullable error) {
if (result&&[result isKindOfClass:[NSString class]]) {
[self doWithResult:result];
}
}];
// 是否允许跳转
- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler{
NSLog(@"%s", __func__);
decisionHandler(WKNavigationActionPolicyAllow);
}
// 开始加载网页
- (void)webView:(WKWebView *)webView didStartProvisionalNavigation:(WKNavigation *)navigation {
NSLog(@"%s", __func__);
}
// 加载失败
- (void)webView:(WKWebView *)webView didFailProvisionalNavigation:(WKNavigation *)navigation
// 加载结束网页
- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation