WKWebView 中l(wèi)ocalstorage不及時同步。processPool單例可以解決
class LocalstorageManger {
static var sharePreferences = WKPreferences()
static var shareProcessPool = WKProcessPool()
}
let configuration = WKWebViewConfiguration()
configuration.preferences = LocalstorageManger.sharePreferences
configuration.processPool = LocalstorageManger.shareProcessPool
WKWebView 不支持 NSURLProtocol 坑
就不上代碼了,具體請看簡書和github的Demo如下
WKWebView 注冊cookie,包含域名domain,時間expires等
let configuration = WKWebViewConfiguration()
let userContentController = WKUserContentController()
let cookieValue = String(format:"document.cookie ='platform=%@;path=/;domain=medlinker.com;expires=Sat, 02 May 2019 23:38:25 GMT;';document.cookie = 'sess=%@;path=/;domain=medlinker.com;expires=Sat, 02 May 2018 23:38:25 GMT;';",user.platform,user.sess)
let cookieScript = WKUserScript(source: cookieValue, injectionTime: .atDocumentStart , forMainFrameOnly: false) userContentController.addUserScript(cookieScript)
configuration.userContentController = userContentController