質問

それはのUIWebView(iPhoneは)URLのロードが完了したときにイベントを開始することが可能となります。

どのように私は、のUIWebViewの現在のURLを見つけることができますか?

役に立ちましたか?

解決

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

- (void)webViewDidFinishLoad:(UIWebView *)webView

あなたはURLをしたい場合、あなたは、プロパティrequestを使用して最後の要求を取得することができます:

webView.request.URL

他のヒント

が見つかりソリューションのどれもが私のために働いていない。

それから私は、少なくとも私はGoogleの/ StackOverflowの上で見つかった他のソリューションよりもはるかに良い作品。この例を見つけます。

のUIWebView負荷完了トラッカー

非常に簡単な方法:

ステップ1:のヘッダファイルに、デリゲートUIWebViewDelegateを設定します。

ステップ2:webViewDidFinishLoadの現在のURLを取得するには、次のwebviewメソッドを追加します。

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

    //-- Add further custom actions if needed 
}

「URLを取得」の部分のためのパスカルの答えは結構です。

しかし!

UIWebViewDelegateのドキュメントから、アップルから: 「webViewDidFinishLoad:Web表示は、フレームのロードが終了した後に送信されます。」

フレーム!=ページます。

ページは、「読み込み完了」されたときに

webViewDidFinishLoadが呼び出されます。また、それ以前に何度も呼び出すことができます。 Amazon.comからのページの負荷がwebViewDidFinishLoadにダース・コールを生成することができます。

あなたはページのソースをコントロールしている場合、

、その後、あなたはそれのための負荷テストを行うことができます、そしてそれは、その場合のために、動作します。あなただけ呼ばばかりを気にした場合は、「ページの読み込みが完了した後」、そしてwebViewDidFinishLoadで十分です。

任意のページでは、任意のJavaScriptで、永久に広告バナーをロードする、またはバナーを自動スクロール、またはビデオゲームを実装、「済ロード」というページの非常にアイデアがwrongheadedです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top