|
WebFrameLoadDelegate
- 概要
- フレームの読込み状態を知る為に使用されるデリゲート
- WebView にURLを指定した後、読込みの開始、対象となるページの決定、読込みの完了などが通知される
- Web ページのタイトルやアイコンの受信状態が通知される
- フレーム単位の処理状況を調べることができる
- 通知されるメッセージ
-
- 詳細
- 読込みリクエストのあったURL が有効なものか分からない為、webView::didStartProvisionalLoadForFrame() という暫定的な読込みが開始された事を示すメッセージが通知される。この時点では、前のページはまだ破棄されていない。
その為、前のページと暫定的なページ両方のデータソースを使用することができる。前のページのデータソースは WebView::dataSource()、暫定的なページのデータソースはwebView::provisionalDataSource() で取得することができる
- Web ページの存在が確定すると、前のフレームが閉じられる事を示すwebView::willCloseFrame() が通知される
- 新しいページの読込みが開始された事を示す webView::didCommitLoadForFrame() が通知される
- Web ページのデータは、読込みながら解釈される
- ページのタイトルが取得できた時点で
webView::didReceiveTitle::forFrame() が、アイコンを受信した時にwebView::didReceiveIcon::forFrame() が通知される
- 読込みが完了すると、webView::didFinishLoadForFrame() が通知され、ページが表示される
WebResourceLoadDelegate
- 概要
- HTMLファイルや画像ファイルなどのリソースの読込み状態を調べる為のデリゲート
- リソース読込み開始、データ受信、読込み完了などが通知される
- それぞれのリソースに対し、ユニークな識別子を付けて管理している。
デフォルトでは、システムが自動的に識別子を付けるが、webView::identifierForInitialRequest::fromDataSource()
メソッドを上書きすることで独自の識別子の設定が可能となる
- 通知されるメッセージ
-
- 詳細
- リソースの読込みが発生すると、webView::identifierForInitialRequest::fromDataSource() が通知される
このメソッドを実装している場合は、識別子を生成して返す
- データの読込み中には、webView::resource::didReceiveContentLength::fromDataSource() が通知される。
但し、データサイズが小さい場合は、このメソッドが呼ばれずに、読込み完了のメッセージが通知される場合もある
|
|