js的localStorage存储标签,localstorage获取数据

  js的localStorage存储标签,localstorage获取数据

  本文为您带来了一些关于javascript的知识,包括在JavaScript中使用localStorage来存储数据。本文中的示例代码非常详细,具有一定的参考价值,希望对你有所帮助。

  【相关推荐:javascript视频教程,web前端】

  背景

  Js以前都是用SessionCookie 来存储信息,好像我那时候还卡着。问同事有没有新的解决方案,才知道现在有HTML5 localStorage在本地存储这个东西,可以在浏览器端存储数据。

  我记得最早的Cookies只能存储很小的东西,外观4KB,安全性很差。IE6时代,一个域名只能有20个Cookies,相当有限。当然IE还有userData,没用。Flash还带了一个存储,比较大,空间是Cookie的25倍左右。当时也是现在废弃了。

  在H5时代,它是统一的,LocalStorage一统天下。官方推荐每个网站 5MB ,很大。虽然浏览器设置会有所不同,但一般来说,存储一些JSON或string或cache就足够了。

  HTML5 LocalStorage 本地存储

  sessionStorage:保存的数据用于浏览器的会话。当会话结束时(通常此窗口关闭),数据被清除;localStorage:保存的数据长期存在。下次访问该网站时,网页可以直接读取之前保存的数据。这两个对象的属性和方法是完全一样的,只是存储周期的长短不同。它们非常类似于cookie机制的增强版本,尽管它们可以使用大得多的存储空间。但是,与cookie一样,它们也受到同一个域的限制。储存在网页中的数据只能由同一域中的网页读取。

  通过检查窗口对象是否包含sessionStorage和localStorage属性,可以确定浏览器是否支持这两个对象。

  功能检查存储支持()

  {

  //会话存储

  if (window.sessionStorage) {

  返回true

  }否则{

  返回false

  }

  //本地存储

  if (window.localStorage) {

  返回true

  }否则{

  返回false

  }

  }Storage 操作

  sessionStorage和localStorage存储的数据采用“Key-Value键值对”的格式。换句话说,每个数据项都有一个键名和一个对应的值。所有数据都以文本格式保存。

  //sessionStorage操作

  sessionStorage.setItem(key , value );//setItem方法,用变量名键和值存储变量。

  var value session=session storage . getitem( key );//getItem方法读取名为key的存储变量的值。

  session storage . remove item( key );//removeItem方法删除变量名为key的存储变量。

  session storage . clear();//clear方法清除所有保存的数据。

  //localStorage操作

  localStorage.setItem(key , value );//用变量名键和值存储变量

  localStorage.key=value //与存储数据的setItem方法相同。

  var value local=local storage . getitem( key );//读取存储变量key的值

  var value local=local storage . key;//与getItem相同,读取数据

  local storage . remove item( key );//removeItem方法删除变量名为key的存储变量。

  local storage . clear();//clear方法清除所有保存的数据。

  //使用length属性和key方法遍历所有数据。

  for(var I=0;I本地存储.长度;我)

  {

  console . log(local storage . key(I));

  }

  //以Json格式存储localStorage数据

  value=JSON . stringify(JSON value);//将JSON对象jsonValue转换为字符串

  localStorage.setItem(key ,value);//用localStorage保存转换后的字符串。

  //读取localStorage中的Json格式数据

  var value=local storage . getitem( key );//检索值变量

  JSON value=JSON . parse(value);//将字符串转换为JSON对象Storage 事件

  当存储的数据发生变化时,将触发存储事件。我们可以指定这个事件的回调函数。

  window . addevent listener( storage ,onStorageChange);回调函数接受一个事件对象作为参数。此事件对象的key属性保存更改后的键名。

  函数onStorageChange(e)

  {

  console . log(e . key);

  }除了key属性,事件对象还有三个属性:

  旧值:更新前的值。如果该键是新添加的,则该属性为null。NewValue:更新后的值。如果该项被删除,则该属性为null。Url:最初触发存储事件的网页的URL。特别是,在导致数据更改的当前页面上不会触发此事件。如果浏览器同时打开一个域名下的多个页面,当其中一个页面改变sessionstorage或localstorage的数据时,会触发其他所有页面的存储事件,但原页面不会触发存储事件。通过这种机制,可以实现多个窗口之间的通信。在所有浏览器中,除了IE浏览器,它会在所有页面上触发存储事件。

  扩展知识

  1.localStorage和sessionStorage是HTML5 Web storage提供的两种存储方式,IE7和大部分浏览器都支持。

  2.localStorage和sessionStorage的区别:

  (1)、localStorage和sessionStorage都是用来存储客户端临时信息的对象。

  (2)都是只能存储字符串类型的对象(虽然规范中也可以存储其他原生类型的对象,但至今没有浏览器实现)。

  (3)localStorage生命周期是永久的,这意味着除非用户清除浏览器提供的UI上的local storage信息,否则该信息将永久存在。(记录在内存中)

  sessionStorage的生命周期是当前窗口或选项卡。一旦窗口或选项卡关闭,sessionStorage存储的所有数据将被清除(回调存储)。

  (4)不同的浏览器不能共享localStorage或sessionStorage中的信息。同一浏览器的不同页面可以共享同一个localStorage(页面属于同一个域名和端口),但是不同的页面或标签页不能共享sessionStorage的信息。

  这里需要注意的是,页面和标签页仅指顶层窗口。如果一个选项卡包含多个iframe选项卡,并且它们属于同一个页面,则它们可以共享sessionStorage。(同源原则)

  3.localStorage和sessionStorage可以存储的数据大小通常为5MB。

  【相关推荐:javascript视频教程,web前端】以上是JavaScript使用localStorage存储数据的详细内容。更多请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: