App中加載url出現(xiàn)403并不會(huì)在fail代理函數(shù)中調(diào)用,會(huì)走finish的函數(shù)回調(diào),所以不能判斷出加載的地址是否出現(xiàn)403錯(cuò)誤
在代理函數(shù)中調(diào)用
funcwebView(_webView:WKWebView, decidePolicyFor navigationAction:WKNavigationAction, decisionHandler:@escaping(WKNavigationActionPolicy) ->Void) {
????????// 判斷是否是網(wǎng)頁跳轉(zhuǎn)
? ? ? ? if(navigationAction.request.url?.scheme?.hasPrefix("http"))!{
?? ? ? ? ? ?var response:URLResponse? =nil
????????????// 請(qǐng)求該鏈接奋岁,通過返回的statusCode判斷是否異常
? ? ? ? ? ? let data =try?NSURLConnection.sendSynchronousRequest(navigationAction.request, returning: &response)
?? ? ? ? ? ?if((response as?HTTPURLResponse)?.statusCode == 200){
????????????????// 網(wǎng)頁正常
? ? ? ? ? ? ? ? decisionHandler(.allow)
? ? ? ? ? ? }else{
????????????????// 網(wǎng)頁異常
? ? ? ? ? ? ? ? decisionHandler(.cancel)
? ? ? ? ? ? }
? ? ? ? }else{
? ? ? ? ? ? decisionHandler(WKNavigationActionPolicy.cancel)
????????????????// 跳轉(zhuǎn)到其他app
//? ? ? ? ? ? debugPrint("scheme = \(String(describing: navigationAction.request.url))");
? ? ? ? ? ? letscheme :URL= (navigationAction.request.url)!
? ? ? ? ? ? if (UIApplication.shared.canOpenURL(scheme)){
? ? ? ? ? ? ? ? UIApplication.shared.openURL(scheme)
? ? ? ? ? ? }
? ? ? ? }
? ? }