2017-07-24 107 views
0

我使用UIWebView加载远程URL,由于网络不可用,该页面为空白。网络可用后,我重新加载UIWebView,但页面仍然空白。UIWebview重新加载不起作用

我该如何解决它?

+0

尝试加载'url'在浏览器中,以检查是否其装载到不行。 –

+0

reload()无法加载url; loadRequest()可以工作,但会导致其他问题 – wcshinestar

回答

0

负载网络与请求视图再次,如:

if let url = URL(string: "https://www.google.com") { 
      let request = URLRequest(url: url) 
      wvWebView.loadRequest(request) 
} 

下面是示例代码。

@IBOutlet var wvWebView: UIWebView! 

override func viewDidLoad() { 
     super.viewDidLoad() 
     wvWebView.delegate = self 
     reloadWebview() 
} 


// call this function to reload web view. 
func reloadWebview(){ 
    if let url = URL(string: "https://www.google.com") { 
      let request = URLRequest(url: url) 
      wvWebView.loadRequest(request) 
    } 
} 

// Webview Delegates 
func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool { 
     print("\n\n**** webView:shouldStartLoadWithRequest: \(request.url) \(navigationType)") 
     return true 
} 


func webViewDidStartLoad(_ webView: UIWebView) { 
     print("webViewDidStartLoad") 
} 


func webViewDidFinishLoad(_ webView: UIWebView) { 
     print("webViewDidFinishLoad") 
} 

func webView(_ webView: UIWebView, didFailLoadWithError error: Error) { 
    print("error description - \(error.localizedDescription)") 
} 
2

试试这个

func reloadRequest() { 
     if let url = URL(string: "https://stackoverflow.com") { 
      let request = URLRequest(url: url); 
      self.loadRequest(request); 
     } 
    }