iOS开发-设置localStorage和sessionStor

2018-10-11  本文已影响0人  来者可追文过饰非

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];
    }
}
上一篇 下一篇

猜你喜欢

热点阅读