を使用してUIWebView
コンテンツを表示しています。このコンテンツ内で、ユーザーはAJAXを使用してロードされている一連のサイトをナビゲートできます。このサイトでの1つのステップには、かなりの時間がかかります。timeoueについて何も見つからなかったので、最初にロードするUIWebView
ときに設定しようとしました。NSURLRequest
残念ながら、これは何もしないようです。自分でタイムアウトを設定することになっているのかよくわかりませんか?足りないものはありますか?UIWebView
タイムアウトを上書きしますか?私はこれについて少し混乱しているので、助けていただければ幸いです。:)
ベスト
–f
アップデート
UIWebView
タイムアウトでどのように機能するかについての私の「理論」を検証するために、テストプロジェクトを構築しました。設定は次のとおりです。
- 結果を送信するまでスリープする時間を設定できるパラメーターを持つsleep.phpというPHPファイル
次のようにsleep.phpをロードするwebViewである単一のビューを持つ小さなXcodeプロジェクト:
NSURLRequest * request = [NSURLRequest requestWithURL:url cachePolicy:NSURLCacheStorageAllowed timeoutInterval:10]; [webView loadRequest:request];
したがって、secondsパラメーターで遊んでいると、正常に機能することがわかりUIWebView
ました。タイムアウトに応じて、webViewDidFinishLoad:
またはどちらかを取得します。webView:didFailLoadWithError:
アドバタイズされたとおりに機能することを確認した後timeoutInterval
、proxy.php(5秒と15秒で構成されたsleep.phpへの2つのリンクがあります)を持ち込み、要求構成が新しい要求に対してまだ有効かどうかを確認しました。NSURLRequest
proxy.phpを使用するようにイニシャルを変更しましたが、タイムアウトのために10秒の構成を残しました。
アプリを起動すると、2つのリンクが表示されています。最初のものをクリックすると、5秒後に期待どおりに読み込まれます。残念ながら、2番目のリンクも15秒後にロードされます。
したがって、再構成する最初の試みは、NSURLRequest
で変更することですwebView:shouldStartLoadWithRequest:navigationType:
。残念ながら、WebサービスはAJAXで動作するため、デリゲートメソッドは呼び出されません。
他に何か提案はありますか?全体のタイムアウト値をグローバルに構成する方法はありますUIWebView
か?
ベスト
–f