2016-10-08 13 views
0

WKWebViewはSafari経由で外部リンク(ベースURLと異なるリンク)を開くことができます。
ただし、WKWebView内のすべてのリンクを開くことがあります。
たとえば、ベースURLが"https://trader.finmarkets.com"であるとしますが、外部で開くUIApplication.shared.open(url)を使用せずにWKWebView内でも開くリンク"https://secure.transactions.finmarkets.com"があるとします。WKWebViewを使用したラッパー - WKWebView内のすべてのリンクをロードする

質問です:
How do I wrap my website to open all links on the WKWebview?
(のコース電子メールや電話番号を除く)

感謝。

答えて

0

あなたはこのような何かを試みることができる:

func webView(webView: WKWebView, decidePolicyForNavigationAction navigationAction: WKNavigationAction, decisionHandler: (WKNavigationActionPolicy) -> Void) { 
    if navigationAction.navigationType == .LinkActivated { 
     if let newURL = navigationAction.request.URL && 
      UIApplication.sharedApplication().canOpenURL(newURL) && 
      UIApplication.sharedApplication().openURL(newURL) { 
       print(newURL) 
       print("User clicked on link. Open it internally.") 
       decisionHandler(.Allow) 
     } else { 
      print("Cannot open URL") 
     } 
    } else { 
     print("Not a user click") 
    } 
} 

あなたはそれが完璧に動作させるために、この小さなをいじる必要があるかもしれませんが、私はそれはあなたが探している線に沿っかもしれないと思います。

関連する問題