浏览器存储的方式有哪些?

Posted 茴香

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浏览器存储的方式有哪些?相关的知识,希望对你有一定的参考价值。

特性cookielocalStoragesessionStorageindexedDB
数据生命周期一般由服务器生成,可以设置过期时间除非清理,否则一直存在页面关闭就清理除非被清理,否则一直存在
数据存储大小4k5M5M无限
与服务器通信每次都携带在header中对请求性能有影响不参与不参与不参与

补充:

cookie 原来并不是用来储存的,而是用来与服务端通信的,需要存取时要自行封装api

//存储cookie 不设置时间为永久存储cookie
function setCookie(cname, cvalue,exdays) {
    var d = new Date();
    d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
    var expires = "expires=" + d.toUTCString();
    document.cookie = cname + "=" + cvalue + "; ";
}
//获取cookie
function getCookie (cname) {
  var arr, reg = new RegExp("(^| )" + cname + "=([^;]*)(;|$)");
  if (arr = document.cookie.match(reg))
    return (arr[2]);
  else
    return null;
}

localStorage

  • 自带getItem 和 setItem 方法。
  • 只能存字符串,若需要存取JSON格式时,需要配合 JSON.stringify() [该方法用于将 javascript 值转换为 JSON 字符串将] 和JSON.parse()[该方法用于将数据转换为 JavaScript 对象,常用于转化成json]。
  • 另外有些浏览器禁用setItem,此时需要使用try...catch捕获异常进行处理

以上是关于浏览器存储的方式有哪些?的主要内容,如果未能解决你的问题,请参考以下文章

片段和活动之间的核心区别是啥?哪些代码可以写成片段?

Session的销毁方式到底有哪些?

在 Android 中的两个 Fragment 之间传递数据都有哪些不同的方式? [复制]

网页编程软件都有哪些

前端面试题-

3,css引入方式都有哪些,常应用哪里?不同引入方式的优势与劣势都有哪些