Window.localStorage

news/2024/11/24 20:08:28/

简介

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);
}


http://www.ppmy.cn/news/779533.html

相关文章

arch linux简体中文,Locale (简体中文)

翻译状态:本文是 Locale 的翻译。上次翻译日期:2021-03-31。如果英文版本有所更改,则您可以帮助同步翻译。 区域设置 显示本地化的文字、货币、时间、日期、特殊字符等包含地域属性的内容。 生成区域设置 区域设置的名称通常用 [language][_TERRITORY][.CODESET][@modifier]…

android locales本地化(整理)

1 语言定制 1.1 ICU4C 1.1.1 ICU4C简介 ICU4C(ICU for C,http://site.icu-project.org/)是ICU在C/C平台下的版本, ICU(International Component for Unicode)是基于"IBM公共许可证"的,与开源组织合作研究的, 用于支持软件国际化的开源项目。IC…

linux locale设置

说明: Locale是根据计算机用户所使用的语言,所在国家或者地区,以及当地的文化传统所定义的一个软件运行时的语言环境。 1、locale分类 语言符号及其分类(LC_CTYPE),数字 (LC_NUMERIC),比较和排序习惯(LC_COLLATE)&…

什么是localStorage?

一、什么是localStorage、sessionStorage 在HTML5中,新加入了一个localStorage特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题(cookie中每条cookie的存储空间为4k),localStorage中一般浏览器支持的…

Python的locals()函数

Python的locals()函数会以dict类型返回当前位置的全部局部变量。 示例代码: def func(): arg_a, arg_b a, b def func_a(): pass def func_b(): pass def print_value(): print(arg_a, arg_b) return locals() if __name__ __main_…

locale 介绍

(这片文章整理与网络,感谢原作者) locale 是国际化与本土化过程中的一个非常重要的概念。locale是软件在运行时的语言环境,它包括语言(language),地域(territory)和字符集…

localedef

localedef 命令将/usr/share/i18n/locales/de_DE跟/usr/share/i18n/charmaps/ISO-8859-1.gz结合,并添加到 /usr/lib/locale/locale-archive 文件中。下面的说明将会安装一个所需locale的最小集合: root:/sources/glibc-build# mkdir -pv /usr/lib/locale…

local()

1.python 内置函数:local(),无参数——以字典类型返回当前位置所有的局部变量。 def Foo(arg): n1; print(local()); fFoo(3) 结果:{‘n’:1,‘arg’:3}.