我有一个 UIWebView 屏幕,其中有一个链接,我想转到另一个网页。
现在我有这个:
if ([request.URL.scheme isEqualToString:@"something"])
{
NSURL *url = [NSURL URLWithString:@"stackoverflow.com];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[theWebView loadRequest:request];
}
但它只是在应用程序本身内打开链接。但是如何让它加载网络浏览器并在网络浏览器中打开 url?
同样,如果我想链接到应用商店中的其他应用,正确的做法是什么?
谢谢!
最佳答案
首先你必须在 Controller 的头文件中实现 UIWebViewDelegate,然后实现 shouldStartLoadWithRequest 来捕获 NSURLrequest 并在系统浏览器中启动它:
- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {
NSString *url = request.URL.absoluteString;
NSLog(@"%@",url);
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];
return NO;
}
编辑(针对您的代码):
if ([request.URL.scheme isEqualToString:@"something"])
{
NSURL *url = [NSURL URLWithString:@"stackoverflow.com];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];
}
关于ios web View - 单击后,如何在 web 浏览器中打开页面而不是嵌入到应用程序中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14979457/