在 Safari 中从 UIWebView 打开外部 link

Open external link from UIWebView in Safari

我想修改我的代码,以便在 Safari 而不是我的应用程序的应用程序内浏览器上打开外部链接。 html 文件是从内部路径加载的,所以我不知道如何让应用程序理解所有外部链接都必须在 safari 中打开。

这是我的ViewController.m

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    NSString *fullURL = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"];
    NSURL *url = [NSURL fileURLWithPath:fullURL];
    NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
    [_viewWeb loadRequest:requestObj];
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

我该如何修改呢? 谢谢!

您需要在 UIWebView 委托方法中处理此问题并检查 UIWebViewNavigationType

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

        if(navigationType == UIWebViewNavigationTypeLinkClicked){

          [MAIN_APPLICATION_DELEGATE openURL:request.URL];
    }
}