WKWebView中调起其他页面后回到原页面的刷新问题
2018-02-23 本文已影响13人
X勒个F
有时应用内的H5页面需要携带用户信息,比如token、userID。比较简单的做法就是在登录状态下将信息拼在连接后,未登录状态则不拼接。
这样会引入一个问题:未登录状态下,在H5页面触发了登录事件,比如present出登录页面,登录完成后回到H5页面需要刷新数据还有页面。直接reload的话,goBack时会回到未登录状态下的页面,这样一来就会重复触发登录事件。
解决方案直接粗暴:成功登录后,重新push一个H5页面,加载原来的链接,将原有的H5页面移除掉。
WebViewController *newWebVC = [[WebViewController alloc] init];//新建一个H5页面
//设置其他参数
[self.navigationController pushViewController:newWebVC animated:NO];
NSArray *arr = self.navigationController.viewControllers;
NSMutableArray *newArr = [[NSMutableArray alloc] initWithArray:arr];
[newArr removeObjectAtIndex:arr.count - 2];//移除原有的H5页面
[self.navigationController setViewControllers:newArr animated:NO];