2011-02-02 58 views
4

webViewDidStartLoadメソッドが呼び出されたときにWebViewからURLを取得しようとすると、空の文字列が返されます。私のコードは次のとおりです。webViewDidStartLoadが呼び出されたときのURLの取得?

- (void)webViewDidStartLoad:(UIWebView *)webView 
{ 
    NSURL* url = [webView.request URL];  
    const char* urlchar = [[url absoluteString] UTF8String]; 

    // do stuff with urlchar... 
} 

これはwebViewDidFinishLoadで使用するコードと同じですが、動作するようです。それは正しい方法ですか?より良い方法がありますか?それが呼び出されたときに有効なURLを取得することを期待する必要がありますか?

答えて

2

これは正しい方法です。その委任方法で提供されたwebView引数を使用すると、要求を開始したUIWebViewにアクセスできます。このメソッドは、ページ内のイメージ、スクリプト、およびその他のリソースがロードされたとき(リソースごとに1回)に呼び出されます。ページが完全に終了したことを確認するには、loadingプロパティを確認します。

+0

これは正しい方法だと思いますが、私はOPと同じことを見ています... URLは空です。これはバグですか? – JimRoepcke

+1

'webView:shouldStartLoadWithRequest:navigationType:'を試してみてください。 –

+0

さて、待機中のUIActivityIndi​​catorViewを表示したいので、webViewDidStartLoadメソッドでそのインジケータを開始しようとしています。また、その指標が必要かどうかを判断するurl.query文字列もあります。 – meadlai

関連する問題