【问题标题】:UIWebview reload doesn't workUIWebview 重新加载不起作用
【发布时间】:2017-12-29 20:34:48
【问题描述】:

我使用UIWebView加载远程url,页面是空白的,因为网络不可用。网络可用后,我重新加载UIWebView,但页面仍然是空白的。

我该如何解决?

【问题讨论】:

  • 尝试在浏览器中加载url 以检查其是否加载。
  • reload() 无法加载url;loadRequest() 可以工作,但是会导致其他问题

标签: ios swift uiwebview reload


【解决方案1】:

试试这个

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

【讨论】:

    【解决方案2】:

    再次使用请求加载 web 视图,例如:

    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)")
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-23
      • 2018-08-31
      • 1970-01-01
      • 2012-05-31
      • 2016-02-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多