ios开发

【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的交互写下。

上一篇 下一篇

猜你喜欢

热点阅读