ios web View - 单击后,如何在 web 浏览器中打开页面而不是嵌入到应用程序中

标签 ios uiwebview

我有一个 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/

相关文章:

iphone - 如何将 gif 动图保存到我的相册?

ios - WKWebView 获取 Javascript 错误

iphone - 使用 CSS 淡化 UIWebView 的底部

ios - 或者在 whereField 中从 Firestore 中获取文档

ios - 使用 firebase 3.0 + swift 检查用户是否存在

html - 在swift 4.2中加载动态html页面时,如何在iOS上实现wkWebview的本地自定义字体?

html - WatchKit 是否支持 html?有像 UIWebview 这样的 Controller 吗?

iOS UIScrollView setScrollEnabled 失败

iphone - 将 UIWebView-heavy iPhone 应用程序移植到 Mac

iphone - UIWebView 和 NSURLCache 的关系很麻烦