关于H5本部缓存localStorage,sessionStorage

HTML5 提供了两种在客户端存储数据的新方法:

  • localStorage - 没有时间限制的数据存储
  • sessionStorage - 针对一个 session 的数据存储

之前,这些都是由 cookie 完成的。但是 cookie 不适合大量数据的存储,因为它们由每个对服务器的请求来传递,这使得 cookie 速度很慢而且效率也不高。

使用方法:

localStorage.setItem("menuTitle", arrDisplay);
sessionStorage.getItem(‘key_null‘)
sessionStorage.removeItem(‘page‘)

在做项目的过程中遇到少有的safari浏览器 H5本地存储不支持的情况,刚开始以为是手机型号和IOS版本的关系,经过对比排查发现是手机开启了无痕浏览的原因导致的,查了一下总结如下:

手机Safari浏览器中具体表现是:

  • localStorage对象仍然存在
  • 但是setItem会报异常:QuotaExceededError
  • getItem和removeItem直接忽略

Safari中控制台截图

判断浏览器是否无痕

if (typeof localStorage === ‘object‘) {
    try {
        localStorage.setItem(‘localStorage‘, 1);
        localStorage.removeItem(‘localStorage‘);
        return true;
    } catch (e) {
        //Storage.prototype._setItem = Storage.prototype.setItem;
        //Storage.prototype.setItem = function() {};
        alert(‘不支持本地存储‘);
        return false;
    }
}
时间: 2024-10-09 17:27:50

关于H5本部缓存localStorage,sessionStorage的相关文章

h5的本地存储——sessionStorage,localStorage

HTML5 提供了两种在客户端存储数据的新方法: localStorage - 没有时间限制的数据存储 sessionStorage - 针对一个 session 的数据存储 SessionStorage, LocalStorage, Cookie这三者都可以被用来在浏览器端存储数据,localStorage和sessionStorage都是本地存储. Cookie会在每次发送HTTP请求时附加到Cookie头字段,服务器以此得知用户所处的状态. Web Storage的概念和cookie相似,

iOS开发和localStorage/sessionStorage

一.前言 在近期的工作中,有前端同学告诉我要清除localStorage,我当时对localStorage完全没有概念,所以就在w3c看了一下相关的内容,下面简单的介绍一下.算是对iOS开发者普及H5的一些常识吧,高手请直接忽略. 二.localStorage && sessionStorage 在HTML5中,为了在客户端存储数据,HTML提供了两种在客户端存储数据的新方法: * localStorage:没有时间限制的数据存储. * sessionStorage:针对一个session

Selenium自动化读取H5手机缓存

原文链接:http://www.cnblogs.com/zishi/p/6890675.html 前言: 由于Selenium本身并不包括读取H5手机缓存的封装,所以考虑使用JavascriptExecutor接口实现. JavascriptExecutor接口简介: 接口声明: public interface JavascriptExecutor 表示驱动程序可以执行JavaScript,提供对机制的访问. 由于跨域策略,浏览器强制执行脚本执行可能会意外失败,且没有足够的错误消息传递. 这在

localStorage sessionStorage cookie indexedDB

目录: localStorage sessionStorage cookie indexedDB localStorage localStorage存储的数据能在跨浏览器会话保留 数据可以长期保留,关闭会话,数据不会被清除 存储的键值对,是以字符串的形式存储的,数值类型会自动转化为字符串. 用法 // 等价,键值对以字符串形式存储,和js对象不一样 window.localStorage.setItem('x',1) // '1' window.localStorage.setItem('x',

JQuery和JS操作LocalStorage/SessionStorage的方法

JQuery和JS操作LocalStorage/SessionStorage的方法 LocalStorage 是对Cookie的优化 没有时间限制的数据存储 在隐私模式下不可读取 大小限制在500万字符左右,各个浏览器不一致 在所有同源窗口中都是共享的 本质是在读写文件,数据多的话会比较卡(firefox会一次性将数据导入内存) 不能被爬虫爬取,不要用它完全取代URL传参 IE7及以下不支持外,其他标准浏览器都完全支持 SessionStorage 针对一个 session 的数据存储 大小限制

html5 webStorage:localStorage sessionStorage

localStorage sessionStorage的使用: 与cookie相比,webStorage有很多优势(如本文结尾),所以在选择的时候,优先选择webStorage! sessionStorage使用方法完全同localStorage一致,不同之处: 1 localStorage:没有时间限制的数据存储,类似于cookie,一直存在,直到用户清除数据: 2 sessionStorage只针对一个 session 的数据存储,关闭当前网页/窗口就会消失: 1 if(typeof(Sto

webview和H5 清除缓存和缓存文件删除。

webview和H5 清除缓存和缓存文件删除. 缓存请看:http://blog.csdn.net/menglele1314/article/details/45717531 import java.io.File;     import android.app.Activity;  import android.graphics.Bitmap;  import android.os.Bundle;  import android.util.Log;  import android.view.V

h5新增浏览器本地缓存localStorage

h5新增属性学习笔记(非原创) html5中的Web Storage包括了两种存储方式:sessionStorage和localStorage. sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁. 因此sessionStorage不是一种持久化的本地存储,仅仅是会话级别的存储. 而localStorage用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的. 一.web storage和

H5 localStorage sessionStorage

localStorage 用于长久保存整个网站的数据,没有过期时间,除非手动去除. sessionStorage 会话存储,临时存储,当用户关闭浏览器窗口后,数据被删除. 共同方法 以 localStorage 为例: 1. 设置缓存数据:localStorage.setItem(key,value), 2. 获取缓存数据:localStorage.getItem(key,value), 3. 获取全部缓存数据:localStorage.valueOf(), 4. 获取指定下标的 key 键值: