9

iPhoneでUIWebViewをロードしているときに発生するURLリダイレクトを検出する方法はありますか. www.example.com の URL を読み込むと、他の URL にリダイレクトされます。これらのリダイレクト URL を取得する必要があり、実際にリダイレクトを処理する場所はどこですか。

4

3 に答える 3

5

はい、できます。埋め込む

– webView:shouldStartLoadWithRequest:navigationType:

このデリゲート. このメソッドは、webview がリクエストを行うたびに呼び出されます。これで、誰かが Web ページのボタンまたはハイパーリンクをクリックすると、このメソッドが呼び出されます。この電話に出た後は、好きなことをすることができます。独自のサーバーを介してリンクをリダイレクトしたり、ユーザーのアクティビティに関するリクエストをサーバーに記録したり、場合によってはコメントページを表示したり、ナビゲーションバーを変更したりします。

おそらくrequest、HTTP 応答コードが 3xx リダイレクトであるかどうかを判断して、必要なことを行うことができます...

于 2012-07-06T11:42:26.907 に答える
1

これを試して:

-(BOOL) webView:(UIWebView *)inWeb shouldStartLoadWithRequest:(NSURLRequest *)inRequest navigationType:(UIWebViewNavigationType)inType {
        if ( inType == UIWebViewNavigationTypeLinkClicked ){
           [[UIApplication sharedApplication] openURL:[inRequest URL]];
            return NO;
        }
       return YES;
    }
于 2012-07-06T11:47:48.173 に答える