2017-03-06 50 views
0

IM在一個基於Web的應用程序時,它僅包含一個web視圖,代碼如下:開場僅特定URL

- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType { 
    if ((navigationType == UIWebViewNavigationTypeLinkClicked)) { 
     [[UIApplication sharedApplication] openURL:[request URL]] ; 

    } 
     HUD = [[MBProgressHUD alloc] initWithView:self.view]; 
     [self.view addSubview:HUD]; 
     // Set determinate mode 
     [HUD show:YES]; 

     //CAPTURE USER LINK-CLICK. 
     NSURL *url = [request URL]; 
     NSString *urls= [url absoluteString]; 
     NSString *code = [urls substringFromIndex: [urls length] - 1]; 
     if ([urls containsString:@".html"] && ![code isEqualToString:@"#"]) { 
      _webView.hidden= YES; 
    } 

此代碼將打開Safari瀏覽器中的所有網頁的看法,但我只需要在Safari 打開特定的URL,例如: http://xxxx/residential/這必須在Safari瀏覽器中打開,而其他所有的頁面應該在web視圖中打開裏面的應用程序。 任何幫助

回答

0

第一件事就是要打開應在Safari瀏覽器,而不是一個UIWebView打開特定的URL。但是沒有任何條件可以滿足你的要求。

首先檢查你的[request url]與你想要的網址。如果兩者匹配,則在SFSafariViewController而不是openUrl函數中打開該URL。在else條件下,您可以加載您不想在Safari中打開的[request url]