Xcode WebView。在Safari中打开target =“_ blank”链接

时间:2018-05-25 01:28:42

标签: ios objective-c xcode uiwebview

我有一个使用 WebView iOS 的小应用。我需要包含 target =“_ blank”的链接才能在Safari中打开

我找到了解决方案。但它对我不起作用。

https://stackoverflow.com/a/15048074/4489534

现在所有链接都在Safari中打开,所有链接也包含“?openInSafari = true”。但 PDF 等外部(可下载)文件在 WebView 中打开。

我无法理解为什么这种情况不起作用

- (BOOL) webView:(UIWebView *)webView shouldStartLoadWithRequest: (NSURLRequest *)request navigationType: (UIWebViewNavigationType)navigationType {
        if (navigationType == UIWebViewNavigationTypeLinkClicked) {
            NSURL *url = [request URL];
            NSString *string = [url query];

            if ([string rangeOfString: @"openInSafari=true"].location != NSNotFound){
                [[UIApplication sharedApplication] openURL: url];
                NSLog(@"Open in Safari");
                return NO;
            }
        }
        NSLog(@"Open in WebView");
        return YES;

}

EDITED

当我点击链接包含“?openInSafari = true”时,我得到“在Safari中打开openInSafari = true”

当我点击正常链接时,我得到“在Safari中打开(null)”

当我点击可下载链接到PDF文件时,我得到“在WebView中打开product_id = 50& download_id = 21”

当我点击直接链接到PDF文件时,我得到“在Safari中打开(null)”

0 个答案:

没有答案