我正在开发一个基于Web的应用程序,它只包含一个webView,代码如下:
- (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上的所有Web视图,但我只需要在safari上打开特定的URL 例如 : http://xxxx/residential/这必须在safari上打开,而所有其他页面都应该在应用程序内的webView上打开。 任何帮助
答案 0 :(得分:0)
首先,您要打开应在Safari而不是UIWebView中打开的特定网址。但是没有任何条件可以满足您的要求。
首先使用您想要的网址检查[request url]
。如果两者都匹配,则在SFSafariViewController
而不是openUrl
函数中打开该网址。在else
条件下,您可以加载您不希望在Safari中打开的[request url]
。