【WKWebview填坑(二)】WKWebview和H5的Coo
2018-09-28 本文已影响176人
岳重亮
1.定义一个方法,方法名setTheCookieOfWebView,方法具体实现如下:
NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
//先删除Userid和isbind的cookie(你自己那边表示登录状态的name)
[self.myWebView evaluateJavaScript:@"document.cookie='Userid=;isbind=;'" completionHandler:nil];
for (NSHTTPCookie *cookie in [cookieStorage cookies]) {
NSString *nameStr = [NSString stringWithFormat:@"document.cookie='%@=%@'",cookie.name,cookie.value];
[self.myWebView evaluateJavaScript:nameStr completionHandler:nil];
}
2.在wkwebview的代理中添加上面写的方法及可。
/* 开始返回内容 */
-- (void)webView:(WKWebView *)webView didCommitNavigation:(WKNavigation *)navigation{
[self setTheCookieOfWebView];
NSLog(@"开始返回内容");
}
ps:wkwebview的坑还是比较多的,特别是cookie的问题,每次请求的时候不会自动带,所以采用了另外一种思路,直接取本地的cookie注入js的document,也解决了web有时候取不到cookie的问题。暂时没发现什么问题,如有问题欢迎留言讨论。
项目接近尾声了,wkwebview的封装也差不多了,等有时间整理下把js和web的交互写下。