【问题标题】:How to open external link from UIWebView not in my App, but in Safari? SWIFT如何在我的应用程序中而不是在 Safari 中从 UIWebView 打开外部链接?迅速
【发布时间】:2015-12-26 15:02:46
【问题描述】:

我想打开我的应用程序中的所有外部链接 (UIWebView) 不在应用程序中,而是在 Safari 中。我怎样才能做到这一点? 我已经实现了 UiWebViewDelegate。

下面我的问题的工作解决方案:

func webView(webView: UIWebView, shouldStartLoadWithRequest request: NSURLRequest, navigationType: UIWebViewNavigationType) -> Bool {
if navigationType == UIWebViewNavigationType.LinkClicked{
    UIApplication.sharedApplication().openURL(request.URL!)
    return false
}
    return true
}

【问题讨论】:

    标签: ios swift safari uiwebview


    【解决方案1】:

    @Leo Dabus 非常感谢这个提示,但我想我有更好的解决方案:

    func webView(webView: UIWebView, shouldStartLoadWithRequest request: NSURLRequest, navigationType: UIWebViewNavigationType) -> Bool {
        if navigationType == UIWebViewNavigationType.LinkClicked{
            UIApplication.sharedApplication().openURL(request.URL!)
            return false
        }
        return true
    }
    

    这个很完美。

    【讨论】:

      【解决方案2】:

      objective-c 的解决方案:- 在ViewController.h

      @interface ViewController : UIViewController<UIWebViewDelegate>
      

      ViewController.m

      - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
          if (navigationType == UIWebViewNavigationTypeLinkClicked){
              NSURL *url = request.URL;
              if ([[UIApplication sharedApplication] canOpenURL:url]) {
                  [[UIApplication sharedApplication] openURL:url];
              }
              return NO;
          }
          return YES;
      }
      

      【讨论】:

        猜你喜欢
        • 2012-04-02
        • 2015-12-02
        • 1970-01-01
        • 2010-11-21
        • 2021-07-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-05
        相关资源
        最近更新 更多