iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >常见的浏览器存储方式有哪些
  • 328
分享到

常见的浏览器存储方式有哪些

2024-04-02 19:04:59 328人浏览 泡泡鱼
摘要

这篇文章给大家分享的是有关常见的浏览器存储方式有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Cookie基于Http规范,用来识别用户。Cookie是服务器发送到浏览器的一

这篇文章给大家分享的是有关常见的浏览器存储方式有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

Cookie基于Http规范,用来识别用户。

Cookie是服务器发送到浏览器的一小段数据,会在浏览器下次向同一服务器再发起请求时被携带并发送到服务器上。

Cookie诞生之初的作用就是解决HTTP的无状态请求,用来记录一些用户相关的一些状态。

•会话状态管理(如用户登录状态、购物车、游戏分数或其它需要记录的信息)
•个性化设置(如用户自定义设置、主题等)
•浏览器行为跟踪(如跟踪分析用户行为等)

因为一些前端交互的需要,后来cookie也被用于存储一些客户端的数据。

Cookie的原生api不友好,需要自行封装一下。下面是封装后的方法。

创建cookie


function setCookie(name, value, expiredays) {
var exdate=new Date();
exdate.setDate(exdate.getDate() + expiredays);
document.cookie = name + '=' + escape(value)+ ((expiredays == null) ? '' : ';expires=' +exdate.toGMTString());
}

获取cookie


function getCookie(name) {
  if (document.cookie.length > 0) {
    var start = document.cookie.indexOf(name + '=');
    if (start !== -1) {
      start = start + name.length + 1;
      var end = document.cookie.indexOf(';', start);
      if (end === -1) {
        end = document.cookie.length;
        return unescape(document.cookie.substring(start, end));
      }
   }
  }
  return '';
}


function getCookie(name) {
  var cookieArr = document.cookie.split(';') || [];
  if(!cookieArr.length){
    return '';
  }
  for(var i = 0; i < cookieArr.length; i ++){
    var key = $.trim(cookieArr[i]).split('=')[0];
    var value = $.trim(cookieArr[i]).split('=')[1];
    if(key === name){
      return value;
    }
  }
}

检查cookie是否已存在

function checkCookie() {
  username = getCookie('username');
  if (username !== null && username !== '') {
    alert('Welcome again ' + username + '!');
  } else {
    username = prompt('Please enter your name:', '');
    if (username !== null && username !== '') {
      setCookie('username',username,365);
    }
  }
}

jquery.cookie.js封装的cookie设置方法:

创建cookie


$.cookie('name', 'value', { expires: 7, path: '/', domain: 'example.com', secure: false});

读取cookie

$.cookie('name'); //name存在返回对应value,不存在返回null

读取所有可用的cookies:

$.cookie(); //{'name': value}

TODO:直接调用会报错?

常见的浏览器存储方式有哪些

删除cookie

//成功删除cookie时返回true,否则返回false
$.removeCookie('name'); // => true
$.removeCookie('nothing'); // => false

注意:删除cookie时,必须传递用于设置cookie的完全相同的路径,域和安全选项,除非您依赖于默认选项。

即:设置cookie时如果设置了path属性或secure属性,删除的时候要带着这些属性,否则无法成功删除cookie。

// This won't work!
$.removeCookie('name'); // => false
// This will work!
$.removeCookie('name', { path: '/' }); // => true
TODO:$.removeCookie无效?

Jquery1.9.1.js + jquery.cookie.js,插件无重复引用的情况,$.removeCookie提示undefined)

常见的浏览器存储方式有哪些

webStorage基于HTML5规范

HTML5 提供了两种在客户端存储数据的新方法:localStorage和sessionStorage,挂载在window对象下。

WEBStorage是本地存储,数据不是由服务器请求传递的。从而它可以存储大量的数据,而不影响网站的性能。

Web Storage的目的是为了克服由cookie带来的一些限制,当数据需要被严格控制在客户端上时,无须持续地将数据发回服务器。比如客户端需要保存的一些用户行为或数据,或从接口获取的一些短期内不会更新的数据,我们就可以利用Web Storage来存储。

localStorage的生命周期是永久性的。localStorage存储的数据,即使关闭浏览器,也不会让数据消失,除非主动的去删除数据。如果 想设置失效时间,需自行封装。

sessionStorage 的生命周期是在浏览器关闭前。

  特性:

•关闭浏览器sessionStorage 失效;
•页面刷新不会消除数据;
•只有在当前页面打开的链接,才可以访sessionStorage的数据,使用window.open打开页面和改变localtion.href方式都可以获 取到

sessionStorage内部的数据;

存储方式

作用与特性

存储数量及大小

api

cookie

● 存储用户信息,获取数据需要与服务器建立连接。

● 可存储的数据有限,且依赖于服务器,无需请求服务器的数据尽量不要存放在cookie中,以免影响页面性能。

● 可设置过期时间。

● 最好将cookie控制在4095B以内,超出的数据会被忽略。

● IE6或更低版本最多存20个cookie; IE7及以上版本最多可以有50个;Firefox最多50个;chrome和Safari没有做硬性限制。

原生、$.cookie(详见上文)

localStorage

● 存储客户端信息,无需请求服务器。

● 数据永久保存,除非用户手动清理客户端缓存

开发者可自行封装一个方法,设置失效时间。

 

5M左右,各浏览器的存储空间有差异。(感兴趣的同学可以自己试一下)。

// 保存数据到 localStorage

localStorage.setItem('key', 'value');

// 从 localStorage 获取数据

let data = localStorage.getItem('key');

// 从 localStorage 删除保存的数据

localStorage.removeItem('key');

// 从 localStorage 删除所有保存的数据

localStorage.clear();

sessionStorage

● 存储客户端信息,无需请求服务器。

● 数据保存在当前会话,刷新页面数据不会被清除,结束会话(关闭浏览器、关闭页面、跳转页面)数据失效。

 

同localStorage

// 保存数据到 sessionStorage

sessionStorage.setItem('key', 'value');

// 从 sessionStorage 获取数据

let data = sessionStorage.getItem('key');

// 从 sessionStorage 删除保存的数据

sessionStorage.removeItem('key');

// 从 sessionStorage 删除所有保存的数据

sessionStorage.clear();

感谢各位的阅读!关于“常见的浏览器存储方式有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: 常见的浏览器存储方式有哪些

本文链接: https://www.lsjlt.com/news/78954.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 常见的浏览器存储方式有哪些
    这篇文章给大家分享的是有关常见的浏览器存储方式有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Cookie基于HTTP规范,用来识别用户。Cookie是服务器发送到浏览器的一...
    99+
    2022-10-19
  • 常见的浏览器内核有哪些
    这篇文章将为大家详细讲解有关常见的浏览器内核有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。常见的浏览器内核有哪些?浏览器的内核可以分成两部分:渲染引擎和JS引擎(注...
    99+
    2022-10-19
  • 常见的浏览器Hack技巧有哪些
    这篇文章将为大家详细讲解有关常见的浏览器Hack技巧有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。IE HackIE系列浏览器的hack大略如下:_nowamagi...
    99+
    2022-10-19
  • 常见的数据库存储方式有哪些
    常见的数据库存储方式包括:1. 关系型数据库:使用表格的形式存储数据,如MySQL、Oracle、SQL Server等。2. 非关...
    99+
    2023-06-08
    数据库存储 数据库
  • 常见浏览器兼容问题有哪些
    小编给大家分享一下 常见浏览器兼容问题有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!常见浏览器兼容问题:1.li在IE中底部3像素的BUG。解决方案:在&l...
    99+
    2023-06-05
  • Selenium控制浏览器的常用方法有哪些
    小编给大家分享一下Selenium控制浏览器的常用方法有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Selenium怎么来的?Selenium这个词,是化学...
    99+
    2023-06-05
  • 各种浏览器下常见css的兼容问题有哪些
    这篇文章主要讲解了“各种浏览器下常见css的兼容问题有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“各种浏览器下常见css的兼容问题有哪些”吧!一、链接...
    99+
    2022-10-19
  • MySQL的常见存储引擎有哪些
    这篇文章主要介绍了MySQL的常见存储引擎有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。MySQL常用存储引擎之MyISAM特性:1、...
    99+
    2022-10-18
  • mysql常见的存储引擎有哪些
    MySQL常见的存储引擎有以下几种:1. MyISAM引擎:是MySQL的默认存储引擎,提供了较好的性能和高效的读取速度。但不支持事...
    99+
    2023-09-15
    mysql
  • web开发中常见的浏览器兼容性问题有哪些
    这篇文章将为大家详细讲解有关web开发中常见的浏览器兼容性问题有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。浏览器的兼容性无非还是样式兼容性(css),交互兼容性(...
    99+
    2022-10-19
  • Firefox和IE浏览器的清除缓存方法有哪些
    今天就跟大家聊聊有关Firefox和IE浏览器的清除缓存方法有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。你知道Firefox和IE浏览器如何...
    99+
    2022-10-19
  • IE浏览器单独写CSS样式的方法有哪些
    本篇内容主要讲解“IE浏览器单独写CSS样式的方法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“IE浏览器单独写CSS样式的方法有哪些”吧!IE hack...
    99+
    2022-10-19
  • android的存储方式有哪些
    Android的存储方式有以下几种:1. 内部存储(Internal Storage):应用程序可以将文件存储在设备的内部存储空间中...
    99+
    2023-08-26
    android
  • HTML5存储方式有哪些
    这篇文章主要为大家展示了“HTML5存储方式有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“HTML5存储方式有哪些”这篇文章吧。本文主要和大家分享HTML...
    99+
    2022-10-19
  • 云存储方式有哪些
    云存储方式有:1、使用邮箱,通过邮件存储附件的方式来存文件数据;2、使用网盘,在电脑上新建网盘同步文件夹,实现修改文件时同步更新云端数据;3、使用云笔记本,实现实时云端在线编辑的方式,来对文字资料进行同步编辑。具体内容如下:使用邮箱邮箱可以...
    99+
    2022-10-05
  • 有哪些常见换ip的方式
    这篇文章主要介绍“有哪些常见换ip的方式”,在日常操作中,相信很多人在有哪些常见换ip的方式问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”有哪些常见换ip的方式”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-06-20
  • 基于浏览器同源策略的有哪些跨域方式
    小编给大家分享一下基于浏览器同源策略的有哪些跨域方式,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Flash跨域这是一种比较老的跨域方式,现在基本不使用了,要是有...
    99+
    2023-06-08
  • 常见的HashMap迭代方式有哪些
    这篇文章主要介绍了常见的HashMap迭代方式有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇常见的HashMap迭代方式有哪些文章都会有所收获,下面我们一起来看看吧。一、 HashMap介绍HashMap...
    99+
    2023-06-27
  • 常见的DDOS攻击方式有哪些
    常见的DDOS攻击方式有:1、SYN/ACK Flood攻击,通过向受害主机发送大量伪造源IP和源端口的SYN或ACK包,导致主机缓存资源被耗尽或忙于发送回应包而造成拒绝服务;2、TCP全连接攻击,通过许多僵尸主机不断与受害服务器建立大量的...
    99+
    2022-10-09
  • Windows系统下浏览器常用的CSS hack有哪些
    这篇“Windows系统下浏览器常用的CSS hack有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作