WKWebViewを使用してwebページを表示しています。
画面は2つあります。
dataにURLの文字列が渡されるとそのwebページが開く仕様です。
URLの文字列は(前の)画面遷移から渡される仕組みです。
前の画面では https
かどうかをチェックしていますが、ページのURLが正しいかどうかはチェックしていません。
参考にした記事:https://qiita.com/haru15komekome/items/894ddaa33e1d7aabfe26
【聞きたいこと】 ・ページのURLが正しいかどうかを判断するのは遷移前の画面でしょうか。 それとも(遷移後の)webページを開く画面で判断するのでしょうか。 ・(もし後者であれば)webページを開く際に正しくないURLが渡された場合のエラーハンドリング方法を知りたいです。
※簡単なものでも良いです。
webで言う404みたいに存在しないwebページの場合はこちらで用意したhttps:hogehoge.com/404みたいのに飛ばしたいです。
import WebKit class WebViewController: UIViewController, WKNavigationDelegate, UINavigationControllerDelegate { var webView: WKWebView! var data: String = "" @IBOutlet weak var webPage: WKWebView! ... override func viewDidLoad() { super.viewDidLoad() let homeUrl = self.data openUrl(urlString: homeUrl) webPage.navigationDelegate = self } // 文字列で指定されたURLをWeb Viewを開く func openUrl(urlString: String) { let url = URL(string: urlString) let request = NSURLRequest(url: url!) webPage.load(request as URLRequest) } extension ViewController: WKNavigationDelegate { // WebView読み込み時エラー func webView(_ webView: WKWebView, didFailProvisionalNavigation navigation: WKNavigation!, withError error: Error) { print("読み込みに失敗しました。") self.navigationController?.popViewController(animated: true) } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/06 14:07 編集
2020/10/06 14:12
2020/10/06 14:16