2016-11-25 63 views
0

我有一个URL请求让说呼叫仅第一个请求的UIWebView

 let url = URL(string: "https://www.google.com/share?referCode=RSJDofpeW") 

,我们要打开这个网址中的WebView而这个链接也与通用的联系有关。所以打开这个URL将打开已安装的应用程序,但我想在UIWebView中加载页面。所以我检查了代表,发现它第一次调用它是上面的url,那么下次它会添加方案和appstore重定向。

func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool { 
     log.verbose(webView) 
     log.verbose(request) 
     log.error(navigationType.rawValue) 
     if request.url?.scheme == "itms-appss" || request.url?.scheme == "googleApp"{ 
      return false 
     } 

     return true 
    } 

因此,要克服Web视图不加载页面的问题我做了类似的代码上面,所以当方案itms-appssgoogleApp它不会加载请求,但在第一次时,它是正确的网址应该加载该页面但未打开。

回答

1

//检查

var isUrlLoaded : Bool = false; 

//委托功能

func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool { 
//check is the url is loaded for first time or not   
if isUrlLoaded != true{ 
       if request.url?.scheme == "itms-appss" || request.url?.scheme == "googleApp"{ 
        return true 
       } 
      } 

      return false 
     } 
     func webViewDidFinishLoad(_ webView: UIWebView) { 
      if webView.request?.url?.scheme == "itms-appss" || webView.request?.url?.scheme == "googleApp"{ 
     // is url loaded  
     isUrlLoaded = true; 
      } 
     } 
+0

试过,但该页面没有加载 –

+0

@ParthAdroja我编辑试图知道 –

+0

您最近编辑将使ITMS,应用程序和googleApp打开而不是网页。 –

相关问题