将UIWebview限制为某些页面

时间:2011-10-06 10:34:10

标签: objective-c ios xcode ipad uiwebview

我正在尝试使用UIWebview创建一个简单的ipad应用程序,该应用程序显示客户可以填写的表单。我想要做的是限制应用程序,以便它只允许用户导航到某些地址。 (即允许用户访问特定地址的某些内容。或者检查特定关键字并允许/阻止它们的内容。)

有人可以告诉我它是如何完成的。

注意:它基本上是一个googledocs形式,我不想让用户离开它..(用户可以轻松点击离开去其他地方)

感谢您阅读:)

3 个答案:

答案 0 :(得分:8)

在您UIWebViewDelegate的课程中,您可以使用以下内容:

-(BOOL) webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
    NSURL *url = request.URL;
    NSString *urlString = url.absoluteString;

    //Check for your own url. You can use more advanced checking techniques of course :)
    NSRange range = [urlString rangeOfString:@"http://www.yourUrl.com"];
    if (range.location != NSNotFound) 
        return YES;
    else
        return NO;
}

答案 1 :(得分:1)

您可以使用委托方法

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType

确定UIWebView是否可以加载给定的网页。虽然这意味着确切地知道允许哪些页面(如果有许多页面可能不方便)。

答案 2 :(得分:1)

使用UIWebViewDelegate方法webView:shouldStartLoadWithRequest:navigationType:

然后检查UIWebView要加载的URL是什么,然后采取行动。

UIWebViewDelegate Reference