★ 画面遷移する前に呼ばれる
func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool {
if request.url?.absoluteString == "XXXXXX" {
// 特定のURLだった場合は遷移させない
return false
}
// true: 画面遷移する false 画面遷移しない
return true
}
★ ページを読み込み開始後に呼ばれる
func webViewDidStartLoad(_ webView: UIWebView) {
// ステータスバーのインジケーターを表示する
UIApplication.shared.isNetworkActivityIndicatorVisible = true
}
★ ページ読み込み完了時に呼ばれる
func webViewDidFinishLoad(_ webView: UIWebView) {
// ステータスバーのインジケーターを消す
UIApplication.shared.isNetworkActivityIndicatorVisible = false
}
★ ページを読み込み時にエラーが起きた時に呼ばれる
func webView(webView: UIWebView, didFailLoadWithError error: NSError) {
if (error.code == NSURLErrorTimedOut) {
// タイムアウトエラーの場合の処理
}
}
★ エラーコード一覧(NSURLErrorDomain)
NSURLErrorUnknown = -1
NSURLErrorCancelled = -999
NSURLErrorBadURL = -1000
NSURLErrorTimedOut = -1001
NSURLErrorUnsupportedURL = -1002
NSURLErrorCannotFindHost = -1003
NSURLErrorCannotConnectToHost = -1004
NSURLErrorDataLengthExceedsMaximum = -1103
NSURLErrorNetworkConnectionLost = -1005
NSURLErrorDNSLookupFailed = -1006
NSURLErrorHTTPTooManyRedirects = -1007
NSURLErrorResourceUnavailable = -1008
NSURLErrorNotConnectedToInternet = -1009
NSURLErrorRedirectToNonExistentLocation = -1010
NSURLErrorBadServerResponse = -1011
NSURLErrorUserCancelledAuthentication = -1012
NSURLErrorUserAuthenticationRequired = -1013
NSURLErrorZeroByteResource = -1014
NSURLErrorCannotDecodeRawData = -1015
NSURLErrorCannotDecodeContentData = -1016
NSURLErrorCannotParseResponse = -1017
NSURLErrorInternationalRoamingOff = -1018
NSURLErrorCallIsActive = -1019
NSURLErrorDataNotAllowed = -1020
NSURLErrorRequestBodyStreamExhausted = -1021
NSURLErrorAppTransportSecurityRequiresSecureConnection = -1022
NSURLErrorFileDoesNotExist = -1100
NSURLErrorFileIsDirectory = -1101
NSURLErrorNoPermissionsToReadFile = -1102
NSURLErrorDataLengthExceedsMaximum = -1103
NSURLErrorFileOutsideSafeArea = -1104
// SSL errors
NSURLErrorSecureConnectionFailed = -1200
NSURLErrorServerCertificateHasBadDate = -1201
NSURLErrorServerCertificateUntrusted = -1202
NSURLErrorServerCertificateHasUnknownRoot = -1203
NSURLErrorServerCertificateNotYetValid = -1204
NSURLErrorClientCertificateRejected = -1205
NSURLErrorClientCertificateRequired = -1206
NSURLErrorCannotLoadFromNetwork = -2000
// Download and file I/O errors
NSURLErrorCannotCreateFile = -3000,
NSURLErrorCannotOpenFile = -3001
NSURLErrorCannotCloseFile = -3002
NSURLErrorCannotWriteToFile = -3003
NSURLErrorCannotRemoveFile = -3004
NSURLErrorCannotMoveFile = -3005
NSURLErrorDownloadDecodingFailedMidStream = -3006
NSURLErrorDownloadDecodingFailedToComplete = -3007