//初始化添加了这个属性后,web页里点击后的请求都会有添加这个cookie,否则url请求以后便不带cookie
WKUserContentController *userContentController = WKUserContentController.new;
NSString * cookieSource = [NSString stringWithFormat:@"document.cookie = 'JSESSIONID=%@'", _cookie];
WKUserScript *cookieScript = [[WKUserScript alloc] initWithSource:cookieSource injectionTime:WKUserScriptInjectionTimeAtDocumentStart forMainFrameOnly:NO];
[userContentController addUserScript:cookieScript];WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init];
config.userContentController = userContentController;
//初始化WKWebView
_webview = [[WKWebView alloc] initWithFrame:self.view.bounds configuration:config];
_webview.backgroundColor=[UIColor whiteColor];
[self.view addSubview:_webview];
_webview.UIDelegate = self;
_webview.navigationDelegate = self;
_webview.scrollView.bounces = NO;
//拦截-请求新的数据前执行
- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler {
NSURL *URL = navigationAction.request.URL;
NSString *scheme = [NSString stringWithFormat:@"%@",URL];
//判断请求的url是不是要拦截的url
if ([self webViewCancelRequestUrl:scheme]) {
//终止请求加载
decisionHandler(WKNavigationActionPolicyCancel);
[_delegate WebViewStatus:0 webUrl:scheme];
return;
}
decisionHandler(WKNavigationActionPolicyAllow);
}
//加载完后执行
- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation
{
//修改字体大小 300%
[ webView evaluateJavaScript:@"document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust='90%'" completionHandler:nil];
//修改字体颜色 #9098b8
[ webView evaluateJavaScript:@"document.getElementsByTagName('body')[0].style.webkitTextFillColor= '#000000'" completionHandler:nil];
[_delegate WebViewStatus:1 webUrl:[NSString stringWithFormat:@"%@",webView.URL]];
}
//是否拦截
-(BOOL)webViewCancelRequestUrl:(NSString *)url{
if ([url containsString:@"Hierarchy/Hierarchy"]) {
return YES;
}
if ([url containsString:@"President/President"]) {
return YES;
}
if ([url containsString:@"Administration/Administration"]) {
return YES;
}
if ([url containsString:@"Logistics/Logistics"]) {
return YES;
}
if ([url containsString:@"Personnel/Personnel"]) {
return YES;
}
if ([url containsString:@"Textcontrol/Textcontrol"]) {
return YES;
}
if ([url containsString:@"Train/Train"]) {
return YES;
}
if ([url containsString:@"Qualityobjectives/Qualityobjectives"]) {
return YES;
}
if ([url containsString:@"Market/Market"]) {
return YES;
}
return NO;
}