2017-08-16 166 views
1

第一次加載網頁在脫機失敗。 然後我連接網絡電話reload()刷新當前頁面,但它不起作用,WKNavigationDelegate不能得到任何回調。WKWebView reload()無法刷新當前頁面

功能reloadFromOrigin()也不起作用

但醫生說:

/*! @abstract Reloads the current page. 
@result A new navigation representing the reload. 
*/ 
- (nullable WKNavigation *)reload; 

/*! @abstract Reloads the current page, performing end-to-end revalidation 
using cache-validating conditionals if possible. 
@result A new navigation representing the reload. 
*/ 
- (nullable WKNavigation *)reloadFromOrigin; 

有人能幫助

+0

如果第一個URL WKWebView嘗試加載失敗,則活動URL將爲零。在每次重新調用時,它都會嘗試加載nil。重新加載之前,您可以檢查webview的URL參數。 – koropok

回答

3

第一次加載網頁在脫機失敗。然後webview.url爲nil。請嘗試以下代碼:

func reloadButtonDidTap() { 
    if let url = webview.url { 
     webview.reload() 
    } else { 
     webview.load(URLRequest(url: originalURL)) 
    } 
}