美文网首页
iOS开发-设置localStorage和sessionStor

iOS开发-设置localStorage和sessionStor

作者: 来者可追文过饰非 | 来源:发表于2018-10-11 11:41 被阅读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];
    }
}

相关文章

网友评论

      本文标题:iOS开发-设置localStorage和sessionStor

      本文链接:https://www.haomeiwen.com/subject/gyxbaftx.html