简介

localStorages是window的只读属性window,允许您访问Storage对象, 存取跨浏览器会话的数据。

localStorage与 类似sessionStorage,只是localStorage数据没有过期时间,sessionStorage当页面会话结束时,即页面关闭时,数据会被清除。

一个Storage可以用来访问当前源的本地存储空间的对象。

异常

SecurityError

该请求违反了策略决定,或者源不是有效的方案/主机/端口元组(例如,如果源使用file:ordata:方案,则可能发生这种情况)。例如,用户可能将他们的浏览器配置为拒绝为指定来源保留数据的权限。

SecurityError

The request violates a policy decision, or the origin is not a valid scheme/host/port tuple (this can happen if the origin uses the file: or data: schemes, for example). For example, the user may have their browser configured to deny permission to persist data for the specified origin.

详解:

localStorage的键值对数据以UTF-16sessionStorage格式存储,每个字符使用两个字节。与对象一样,整数键会自动转换为字符串。

localStorage存储的数据特定于文档的协议(http与https互为不同协议)。对于通过 HTTP 加载的站点(例如,http://example.com),localStorage返回localStorage与通过 HTTPS 加载的相应站点(例如,https://example.com)返回不同的localStorage对象。

在所有现代浏览器中,localStorage为每个file:URL返回一个不同的localStorage对象。

localStorage的优势

1、localStorage拓展了cookie的4K限制

2、localStorage会可以将第一次请求的数据直接存储到本地,这个相当于一个5M大小的针对于前端页面的数据库,相比于cookie可以节约带宽

localStorage的局限

1、浏览器的大小不统一,并且在IE8以上的IE版本才支持localStorage这个属性

2、目前所有的浏览器中都会把localStorage的值类型限定为string类型,这个在对我们日常比较常见的JSON对象类型需要一些转换

3、localStorage在浏览器的隐私模式下面是不可读取的

4、localStorage本质上是对字符串的读取,如果存储内容多的话会消耗内存空间,会导致页面变卡

5、这里要特别说明一下localStorage的使用也是遵循同源策略的,所以不同的网站直接是不能共用相同的localStorage

localStorage的浏览器支持情况:

这里要特别声明一下,如果是使用IE浏览器的话,那么就要UserData来作为存储,这里主要讲解的是localStorage的内容,所以userData不做过多的解释,而且以博主个人的看法,也是没有必要去学习UserData的使用来的,因为目前的IE6/IE7属于淘汰的位置上,而且在如今的很多页面开发都会涉及到HTML5\CSS3等新兴的技术,所以在使用上面一般我们不会去对其进行兼容

localStorage的写入

if(!window.localStorage){alert("浏览器支持localstorage");return false;
}else{var storage=window.localStorage;//写入a字段storage["a"]=1;//写入b字段storage.a=1;//写入c字段storage.setItem("c",3);console.log(typeof storage["a"]);console.log(typeof storage["b"]);console.log(typeof storage["c"]);
}

localStorage的读取

if(!window.localStorage){alert("浏览器支持localstorage");
}else{var storage=window.localStorage;//写入a字段storage["a"]=1;//写入b字段storage.a=1;//写入c字段storage.setItem("c",3);console.log(typeof storage["a"]);console.log(typeof storage["b"]);console.log(typeof storage["c"]);//第一种方法读取var a=storage.a;console.log(a);//第二种方法读取var b=storage["b"];console.log(b);//第三种方法读取var c=storage.getItem("c");console.log(c);
}

Window.localStorage相关推荐

  1. window.localStorage.setItem的使用

    最近接触的一个小项目中频繁看到一个新的面孔: changeTheme () {dispatch({ type: 'app/switchTheme' })},changeOpenKeys (openKe ...

  2. window.localStorage.setItem总结

    window.localStorage.setItem(key,value);//设置指定key的数据(JSON格式)window.localStorage.getItem(key);//获取指定ke ...

  3. window.localStorage.setItem的理解与使用

    最近接触的一个小项目中频繁看到一个新的面孔: changeTheme () {dispatch({ type: 'app/switchTheme' })},changeOpenKeys (openKe ...

  4. html缓存在本地缓存,HTML5 本地缓存 window.localStorage

    Conway's Game of Life: An Exercise in WPF, MVVM and C# This blog post was written for the Lo ...

  5. php缓存数据到本地缓存,本地缓存localStorage的使用方法

    本篇文章的使用方法来自于实际开发,详细介绍AppCan手机框架本地缓存localStorage的使用方法. 在手机应用中,存储本地数据是必不可少的功能,例如我们可以在手机中存储用户自定义设置.传递数据 ...

  6. session,cookie,sessionStorage,localStorage的区别及应用场景

    浏览器的缓存机制提供了可以将用户数据存储在客户端上的方式,可以利用cookie,session等跟服务端进行数据交互. 一.cookie和session cookie和session都是用来跟踪浏览器 ...

  7. HTML5本地存储localStorage,sessionStorage

    HTML5新特性,用于本地存储, localStorage:不删除会一直存在斯基 sessionStorage:浏览器关掉,就跪了 /*** H5:数据存储方式,可以携带用户信息id* * 注意:* ...

  8. html5保存资源本地,html5之Localstorage本地存储

    题外话 今天把博客里面的内容,同步在github的issues中了.具体地址是:https://github.com/confidence68/blog/issues ,欢迎大家访问,给star. L ...

  9. Cocos本地存储LocalStorage

    HTML5 LocalStorage 本地存储 //存档var stopResumeMenu4 = cc.MenuItemFont.create("存档", this.onSave ...

  10. LocalStorage、SessionStorage

    window.sessionStorage和window.localStorage接口用于脚本在浏览器保存数据. LocalStorage 基本使用 设置 window.sessionStorage. ...

最新文章

  1. 无聊的时候,冷死了(六)
  2. 链表问题16——单链表的选择排序
  3. hadoop-07-ntp服务检查
  4. asp.net 中datagrid ItemDataBound\ItemCreated
  5. MySQL中地理位置数据扩展geometry的使用心得
  6. 请你说明ConcurrentHashMap有什么优势以及1.7和1.8区别?
  7. 不扯概念,用例子演示什么是脏读,不可重复读,幻读?
  8. iptables二之防火墙SNAT源地址转换,MASQUERADE地址伪装之DNAT目标地址转换讲解和实验演示
  9. NetBeans 时事通讯(刊号 # 74 - Sep 30, 2009)
  10. 网络中的那些事儿(五)之校园网规划综述
  11. python和c 的区别-Python和C区别该如何理解?如何适应这种区别?
  12. 写弹窗时防止底层滚动
  13. 轻松一刻,python乌龟绘图-小猪佩奇,可爱乌龟,新冠病毒
  14. GUI界面设计学渣笔记———使用PyQt做深度学习的可视化界面
  15. gtid_executed和gtid_purged变量是如何初始化的
  16. Java的中文转换拼音、五笔简码
  17. OpenStreetMap开放街道图(OSM)
  18. arcgis python脚本筛选与线共边的面_ArcGIS公共函数Python脚本,Arcgis,常用,功能
  19. 基于DLNA的移动端网络视频投屏技术
  20. 阿里云国际版ACE与国内版ACE区别

热门文章

  1. T-SQL笔记8:索引
  2. eclipse如何安装java decompiler反编译插件
  3. vscode中自动修复eslint的项目语法错误
  4. jQuery学习笔记(边学边记版本)
  5. cpython安装_Cython安装没有找到Python.h文件?
  6. matlab中unique的作用,matlab中的unique函数详解
  7. python提取百度首页链接_python获取百度热榜链接的实例方法
  8. matlab在二值图像上画曲线_数字图像处理:Image Printing Program Based on Halftoning
  9. node.js mysql 自动重连_nodejs中mysql断线重连
  10. 汇编语言·易遗忘知识点汇总ing