我需要制作一个简单的UIWebView for iPad,用于用户使用他们的帐户登录并能够看到固定的Facebook公共页面并能够滚动此页面,评论或喜欢帖子但无法前往的事件除此页面以外的其他地方。所以我正在使用
-(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;
}
}
每次当用户结束他的会话时,女主人都会从此页面注销到登录页面。经过一些实验后,我遇到了一些问题:
提前致谢!
答案 0 :(得分: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;
}
答案 1 :(得分:1)
之前我做过类似的事情,我会建议像
这样的事情return [urlString hasPrefix:@"http://m.facebook.com/"];
这也可能是一个更安全的选择,因为它限制了一个域,而不是简单地检查完整URL路径中任何位置的facebook这个词的关键字。
你可能会更加花哨,并在“http://和第二个”之后的任何地方检查“facebook.com”。也可以使用NSURL的baseURL方法来帮助。
另外,您是否确定正确设置了UIWebView委托?