1

所以我正在编写我的第一个应用程序,并有一个关于在 UIWebView 中阻止其他域的快速问题。我想限制导航到我的网站和我的合作伙伴网站。所以,如果我的网站上碰巧有一个链接到谷歌的链接,我希望出现一个弹出消息并说“你不能去那里!” 或者其他的东西。我不知道该怎么做。我以前从来没有玩过 UIWebView 并且对一般的编程很陌生。非常感谢任何帮助,谢谢!

4

2 回答 2

7
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
    NSString *host = [request.URL host];
    if ([host isEqualToString:"oralb.com"] || [host isEqualToString:"other.com"]) {
        // Add any of your own domains in the above line
        return YES;
    }

    return NO;
}
于 2013-05-17T17:08:38.933 回答
2

您需要让您的控制器类成为 Web 视图的代表。然后在控制器中实现这个方法:

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

在这种方法中,您可以检查requestURL是否可以接受。如果是, return YES,如果不是,显示您的警报和return NO

要测试域,您可以hostURL.request

于 2013-05-17T17:03:28.297 回答