1、UIWebView携带参数的POST请求
2、webView代理方法中,截取url,跳转至原生页面
#pragma mark - UIWebView 代理
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
NSString *requestString = [[request URL] absoluteString];
NSLog(@"requestString=%@",requestString);
NSString *scheme = @"click";
NSString *protocol = [NSString stringWithFormat:@"%@://", scheme];
if ([requestString hasPrefix:protocol]) {
NSRange range = [requestString rangeOfString:@"://"];
NSString *host = [requestString substringFromIndex:range.location+3];
XOLog(@"host=%@",host);
if ([host isEqualToString:@"auth-success"]) {
AddBankCardViewController *addNewBankCardVC=[[AddBankCardViewController alloc]init];
[self.navigationController pushViewController:addNewBankCardVC animated:YES];
UIViewController *appRootVC = [UIApplication sharedApplication].keyWindow.rootViewController;
[appRootVC.view makeToast:@"恭喜您!实名认证成功~" duration:1 position:@"Center"];
}
if ([host isEqualToString:@"auth-fail"]) {
[[NSNotificationCenter defaultCenter]postNotificationName:@"backback" object:nil];
// [self dismissViewControllerAnimated:YES completion:nil];
UIViewController *viewCtl = self.navigationController.viewControllers[1];
[self.navigationController popToViewController:viewCtl animated:YES];
UIViewController *appRootVC = [UIApplication sharedApplication].keyWindow.rootViewController;
[appRootVC.view makeToast:@"非常抱歉!实名认证失败" duration:1 position:@"Center"];
}
return NO;
}
return YES;
}
- (void)webViewDidFinishLoad:(UIWebView *)webView{
[self hiddenMBProgressView];
//1、获取当前页面的url
NSString *currentURL = [webView stringByEvaluatingJavaScriptFromString:@"document.location.href"];
//2、获取页面title:
NSString *titleName = [webView stringByEvaluatingJavaScriptFromString:@"document.title"];
self.title = titleName;
NSLog(@"currentURl=%@,title = %@",currentURL,titleName);
}
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error{
[self hiddenMBProgressView];
[self.view makeToast:@"网络中断,请检查网络!" duration:1 position:@"Center"];
NSLog(@"webview error=%@",error);
}
- (void)webViewDidStartLoad:(UIWebView *)webView{
[self showMBProgressView];
}
- (void)showMBProgressView{
[MBProgressHUD showHUDAddedTo:self.view animated:YES];
}
- (void)hiddenMBProgressView{
[MBProgressHUD hideAllHUDsForView:self.view animated:YES];
}