2009-11-02 20 views

答えて

74

はい、可能です。 UIWebViewDelegateプロトコルを使用して、デリゲートに次のメソッドを実装します。

- (void)webViewDidFinishLoad:(UIWebView *)webView 

をあなたはURLをしたい場合は、あなたが財産requestを使用して最後の要求を取得することができます。

webView.request.URL 
+0

ありがとう:)それは働いた:) – ishhhh

+0

(UIWebview *)webViewは、あなたのwebviewの名前の出口の名前ですwebViewですか? –

+1

@CameronTarbellこれはデリゲートメソッドです。コンセント名とは無関係に、 'webView'変数を使って読み込みを完了したWebビューを渡します。 – Pascal

1

非常に簡単な方法:

手順1:デリゲートUIWebViewDelegateをヘッダーファイルに設定します。

ステップ2:たソリューションのどれもが私のために働いていないwebview

- (void)webViewDidFinishLoad:(UIWebView *)webView 
{ 
    NSLog(@"Current URL = %@",webView.request.URL); 

    //-- Add further custom actions if needed 
} 
2

の現在のURLを取得するには、次のwebViewDidFinishLoadメソッドを追加します。

次に、Google/StackOverflowで見つけた他のソリューションよりも優れたこの例が見つかりました。 "URLの取得" 部分の

uiwebview-load-completion-tracker

1

パスカルの答えは結構です。

ただし、

UIWebViewDelegateのドキュメントから、Apple: "webViewDidFinishLoad:Webビューのフレームのロードが完了した後に送信されました。"

フレーム!=ページ。

webViewDidFinishLoadは、ページが「読み込み済み」のときに呼び出されます。それ以前に何回も呼び出すこともできます。 Amazon.comからのページ読み込みは、webViewDidFinishLoadへのダースコールを生成することができます。

ページソースを制御すると、負荷テストを行うことができます。 「ページが読み込まれた後に」呼び出されるだけの場合は、webViewDidFinishLoadで十分です。

任意のページ、任意のJavaScript、永続的な広告バナーの読み込み、バナーの自動スクロール、またはビデオゲームの実装の場合、ページが「読み込み済み」であるという考えは間違っています。

関連する問題