ios - Open a WKWebview target="_blank" link in Safari -


i trying hybrid ios app uses swift , wkwebviews open link has target="_blank" or if url contains http://, https://, or mailto: in mobile safari.

from this answer code.

func webview(webview: wkwebview!, createwebviewwithconfiguration     configuration: wkwebviewconfiguration!, fornavigationaction navigationaction:     wknavigationaction!, windowfeatures: wkwindowfeatures!) -> wkwebview! {     if navigationaction.targetframe == nil {         webview.loadrequest(navigationaction.request)     }     return nil } 

first, doesn't me. second, want open in new window. , found code supposed that...

if let requesturl = nsurl(string: "http://www.isecurityplus.com") {      uiapplication.sharedapplication().openurl(requesturl) } 

how put these 2 , them work? need add viewcontroller declaration make work?

in (from here)

 override func loadview() {     super.loadview()     self.webview.navigationdelegate = self      self.webview.uidelegate = self  //must have  } 

then add function (from here, additions)...

func webview(webview: wkwebview,     createwebviewwithconfiguration configuration: wkwebviewconfiguration,     fornavigationaction navigationaction: wknavigationaction,     windowfeatures: wkwindowfeatures) -> wkwebview? {         if navigationaction.targetframe == nil {             var url = navigationaction.request.url             if url.description.lowercasestring.rangeofstring("http://") != nil || url.description.lowercasestring.rangeofstring("https://") != nil || url.description.lowercasestring.rangeofstring("mailto:") != nil  {                 uiapplication.sharedapplication().openurl(url)             }         }         return nil } 

Comments

Popular posts from this blog

python - TypeError: start must be a integer -

c# - DevExpress RepositoryItemComboBox BackColor property ignored -

django - Creating multiple model instances in DRF3 -