0

ユーザーが自分のアカウントでログインし、固定のFacebook公開ページを表示して、このページをスクロールしたり、コメントしたり、投稿を高く評価したりできるが、他の場所に移動できない場合に備えて、iPad用のシンプルなUIWebViewを作成する必要があります。このページ。だから私は使っています

-(BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType
    {
        NSURL *url = request.URL;
        NSString *urlString = url.absoluteString;
        NSRange range = [urlString rangeOfString:@"http://m.facebook.com/groups/10621329941138"];
        if (range.location != NSNotFound)
        {
            return YES;
        }
        else
        {
            return NO;
        }
    }

ユーザーがセッションを終了するたびに、ホステスはこのページからログインページにログアウトします。いくつかの実験の後、私はいくつかの問題に固執しました:

  • 最初の読み込みで、「リクエストしたページは現在表示できません...」というメッセージが表示されます。http: //uaimage.com/image/5a0cccea
  • 毎回ログアウトすると、空白の白い画面が表示されます(.phpに問題がありますか?)
  • このページからのすべてのリンクをブロックする場合、セッションの終了時にログアウトアクションを許可するにはどうすればよいですか?

前もって感謝します!

4

2 に答える 2

1

私は以前にこのようなことをしたことがあり、次のようなことを提案します

return [urlString hasPrefix:@"http://m.facebook.com/"];

これは、完全なURLのパス内の任意の場所でFacebookという単語をキーワードチェックするのではなく、ドメインに限定されるため、より安全なオプションになる可能性があります。

もう少し凝って、「http://の直後で2番目の「/」の直前のどこかで「facebook.com」をチェックすることができます。おそらくNSURLのbaseURLメソッドを使用してここで役立つこともできます。

また、UIWebViewデリゲートが正しく設定されていることを絶対に確信していますか?

于 2013-02-25T15:47:15.137 に答える
1

これを試して:

if ([url.host.lowercaseString rangeOfString:@"facebook"].location == NSNotFound) {

    // Don't go since we're somewhere else now
    return NO;

} else {

    // We can go here
    return YES;

}
于 2013-02-25T14:52:00.707 に答える