localStorage和sessionStorage的区别
localStorgae的生命周期是永久的,除非主动删除(或者是卸载app),
sessionStorage的生命周期是在当前的webview中,如果关闭当前webview的话,就会失效
设置方法 (需要在页面开始加载或者已经加载完成的回调里去设置)
UIWebView
- (void)webViewDidFinishLoad:(UIWebView *)webView {
{
NSString * userContent = [NSString stringWithFormat:@"{\"token\": \"%@\", \"userId\": %@}", @"a1cd4a59-974f-44ab-b264-46400f26c849", @"89"];
// 设置localStorage
NSString *jsString = [NSString stringWithFormat:@"localStorage.setItem('userContent', '%@')", userContent];
// 移除localStorage
// NSString *jsString = @"localStorage.removeItem('userContent')";
// 获取localStorage
// NSString *jsString = @"localStorage.getItem('userContent')";
[webView stringByEvaluatingJavaScriptFromString:jsString];
}
{
NSString * userContent = [NSString stringWithFormat:@"{\"token\": \"%@\", \"userId\": %@}", @"a1cd4a59-974f-44ab-b264-46400f26c849", @"89"];
NSString *jsString = [NSString stringWithFormat:@"sessionStorage.setItem('userContent', '%@')", userContent];
// 移除sessionStorage
// NSString *jsString = @"sessionStorage.removeItem('userContent')";
// 获取sessionStorage
// NSString *jsString = @"sessionStorage.getItem('userContent')";
[webView stringByEvaluatingJavaScriptFromString:jsString];
}
}
WKWebView
// 页面加载完成
- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation {
// 添加local storage
{
NSString * userContent = [NSString stringWithFormat:@"{\"token\": \"%@\", \"userId\": %@}", @"a1cd4a59-974f-44ab-b264-46400f26c849", @"89"];
// 设置localStorage
NSString *jsString = [NSString stringWithFormat:@"localStorage.setItem('userContent', '%@')", userContent];
// 移除localStorage
// NSString *jsString = @"localStorage.removeItem('userContent')";
// 获取localStorage
// NSString *jsString = @"localStorage.getItem('userContent')";
[self.webView evaluateJavaScript:jsString completionHandler:nil];
}
// 添加session storage
{
NSString * userContent = [NSString stringWithFormat:@"{\"token\": \"%@\", \"userId\": %@}", @"a1cd4a59-974f-44ab-b264-46400f26c849", @"89"];
NSString *jsString = [NSString stringWithFormat:@"sessionStorage.setItem('userContent', '%@')", userContent];
// 移除sessionStorage
// NSString *jsString = @"sessionStorage.removeItem('userContent')";
// 获取sessionStorage
// NSString *jsString = @"sessionStorage.getItem('userContent')";
[self.webView evaluateJavaScript:jsString completionHandler:nil];
}
}