WKWebView中调起其他页面后回到原页面的刷新问题

有时应用内的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];

你可能感兴趣的:(WKWebView中调起其他页面后回到原页面的刷新问题)