wkwebview
NSString *scheme = [request.URL scheme];
NSString *absoluteString = [request.URL.absoluteString stringByRemovingPercentEncoding];
static NSString *endPayRedirectURL = nil;
if ([absoluteString hasPrefix:@"https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb"] && ![absoluteString hasSuffix:[NSString stringWithFormat:@"redirect_url=%@://",@"openapi.dvr163.com"]]) {
NSString *redirectUrl = nil;
if ([absoluteString containsString:@"redirect_url="]) {
NSRange redirectRange = [absoluteString rangeOfString:@"redirect_url"];
endPayRedirectURL = [absoluteString substringFromIndex:redirectRange.location+redirectRange.length+1];
redirectUrl = [[absoluteString substringToIndex:redirectRange.location] stringByAppendingString:[NSString stringWithFormat:@"redirect_url=%@://",@"openapi.dvr163.com"]];
}else {
redirectUrl = [absoluteString stringByAppendingString:[NSString stringWithFormat:@"&redirect_url=%@://",@"openapi.dvr163.com"]];
}
NSMutableURLRequest *newRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:redirectUrl] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:6.0];
newRequest.allHTTPHeaderFields = request.allHTTPHeaderFields;
newRequest.URL = [NSURL URLWithString:redirectUrl];
[webview loadRequest:newRequest];
return WKNavigationActionPolicyCancel;
}
if (![scheme isEqualToString:@"https"] && ![scheme isEqualToString:@"http"]) {
if ([scheme isEqualToString:@"weixin"]) {
if (endPayRedirectURL) {
[webview loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:endPayRedirectURL] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:6.0]];
}
}else if ([scheme isEqualToString:[NSString stringWithFormat:@"%@",@"openapi.dvr163.com"]]) {
}
BOOL canOpen = [[UIApplication sharedApplication] canOpenURL:request.URL];
if (canOpen) {
[[UIApplication sharedApplication] openURL:request.URL];
}
return WKNavigationActionPolicyCancel;
}