wkwebView的一個(gè)爬坑記錄:幀加載中斷
func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void)
和
func webView(_ webView: WKWebView, decidePolicyFor navigationResponse: WKNavigationResponse, decisionHandler: @escaping (WKNavigationResponsePolicy) -> Void)的區(qū)別
我的理解是第一個(gè)方法(navigationAction)是加載新的url的時(shí)候調(diào)用
第二個(gè)(navigationResponse)是url返回?cái)?shù)據(jù)的時(shí)候調(diào)用。
所以之前配合
func webView(_ webView: WKWebView, didFailProvisionalNavigation navigation: WKNavigation!, withError error: Error) {
self.setWebViewHeight(height: 0)
}
的時(shí)候,只要我用第二個(gè)方法,這個(gè)didfail方法就會(huì)報(bào)錯(cuò),導(dǎo)致bug。錯(cuò)誤提示幀加載中斷(code=102).
后面改成第一個(gè)方法(navigationAction)就可以了