首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

js localstorage

基础概念localStorage 是 Web Storage API 的一部分,它提供了一种在用户的浏览器上持久存储数据的方式。与 sessionStorage 不同,localStorage 中的数据没有过期时间,数据会一直保存在用户的浏览器中,直到被显式删除。

优势

  1. 持久性:数据长期保存,不会因为页面关闭或浏览器重启而丢失。
  2. 容量大:通常比 Cookie 的存储空间大得多(至少 5MB)。
  3. 访问速度快:数据存储在客户端,读取速度快。
  4. 安全性:相对于 Cookie,localStorage 更不容易受到跨站脚本攻击(XSS)的影响,因为它不会随每个 HTTP 请求发送到服务器。

类型与应用场景

  • 类型:只能存储字符串类型的数据。但可以通过 JSON.stringify() 将对象或其他复杂数据类型转换为字符串进行存储,读取时再用 JSON.parse() 还原。
  • 应用场景
    • 用户偏好设置(如主题、语言选择等)。
    • 离线应用的数据缓存。
    • 记住用户名和密码的功能。
    • 游戏中的高分记录。

遇到的问题及解决方法

  1. 存储空间不足
    • 原因:超过了浏览器为 localStorage 分配的最大容量。
    • 解决方法:检查并清理不再需要的数据,或者使用IndexedDB等更强大的客户端存储解决方案。
  • 数据安全问题
    • 原因:敏感信息可能被恶意脚本读取。
    • 解决方法:避免存储敏感信息,对存储的数据进行加密处理,并确保网站采取了适当的安全措施来防止XSS攻击。
  • 跨域访问限制
    • 原因:出于安全考虑,localStorage 受同源策略限制,不同源的页面无法共享数据。
    • 解决方法:使用服务器端作为中介来交换数据,或者采用跨文档消息传递(postMessage)机制。

示例代码

代码语言:txt
复制
// 存储数据
localStorage.setItem('username', 'JohnDoe');

// 读取数据
let username = localStorage.getItem('username');
console.log(username); // 输出: JohnDoe

// 删除数据
localStorage.removeItem('username');

// 清空所有数据
localStorage.clear();

请注意,在使用 localStorage 时,应始终考虑到数据的隐私和安全,避免存储敏感信息,并确保网站有适当的安全措施。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

js本地存储:localStorage

一.简介 localStorage会可以将第一次请求的数据直接存储到本地,这个相当于一个5M大小的针对于前端页面的数据库 ——注意:在IE8以上的IE版本才支持localStorage这个属性。...二.具体使用方式如下: 1.localStorage – 没有时间限制的数据存储    var arr=[1,2,3];    localStorage.setItem("temp",arr); //存入...清空 localStorage   localStorage.clear(); //  3.删除键值对   localStorage.removeItem("arr");  注意:存入的数据只能以 字符串...("temp2", obj);   //JSON字符串转JSON对象   obj=JSON.parse(localStorage.getItem("temp2")); 四.在谷歌浏览器查看 localStorage...: 未经允许不得转载:肥猫博客 » js本地存储:localStorage

4.5K20
  • JS如何使用localStorage实现计数器功能

    比如:表格的分页,一刷新保持当前页的状态,三级路由Tab的一个切换激活状态,用到的就是localStorage,sessionStorage可以用来监测用户是否刷新进入页面 今天使用localStorage...实现一个计数器的功能 01 具体示例 JS如何使用localStorage实现计数器功能(https://coder.itclan.cn/fontend/js/31-localstorage-count-num...: center; } 主要的核心代码是 设置localStorage使用的是localStorage.setItem('key',val) // 常用 localStorage.setItem...('key',val) // 或者,如下所示,这里的key是你自己设置的存储的字段,val是要具体存入localStorage的值 localStorage.key = val; 而获取localStorage...使用的是localStorage.getItem('key') // 常用 localStorage.getItem('key'); // 或者 localStorage.key 02 百前端浏览器本地存储

    1.7K30

    localStorage的黑科技-js和css缓存机制

    其实根本就不止一个js文件。 ? 脑袋里灵光一闪,不会是用localStorage做了缓存吧?!赶紧看了下localStronge,还真是。。。。 ?...所以,如果把js资源和css资源存储在localStorage中,则可以省去发送http请求所消耗的时间,大大提高用户的浏览体验。...3.4 存在XSS安全隐患 localStorage中的信息,客户端是可以任意修改的。如果哪个黑客想练手一下,可以任意注入js代码。那么,在页面刷新的时候,注入的代码也将会被执行。...4.5 测试微信的更新机制 修改localStorage中 key __MOON__a/a_report.js_ver对应的value值,让微信的脚手架moon.js更新__MOON__a/a_report.js...六、番外 有兴趣的童鞋,还可以看看知乎上大神们的讨论,静态资源(JS/CSS)存储在localStorage有什么缺点?为什么没有被广泛应用?

    4.3K20

    localStorage sessionStorage

    localStorage 和 sessionStorage Window.localStorage 当页面会话结束的时候,数据将会被清除。...之前一刷新页面,直接被清除,后来发现是浏览器插件引入的js脚本,导致出现问题,在思考,如何验证网页是否被插入js脚本,即,类似于掘金社区的,每次访问都会提示,被插入脚本。...= number; document.write(number); js文件如上,每次刷新页面重新加载的时候,都会从浏览器中读取localStorage.number的内容。...一个demo localStorage.setItem("x", 1); // 设置值 localStorage.getItem("x"); // 读取值 // 枚举所有的名值对 for(var i...= 0; i localStorage.length; i++) { var name = localStorage.key(i); // 获取第i对名字 var value = localStorage.getItem

    1.1K30

    localStorage 的相关运用

    localStorage 是浏览器自带的一个属性,只读的localStorage 属性允许你访问一个Document 源(origin)的对象 Storage;存储的数据将保存在浏览器会话中。...localStorage 类似 sessionStorage,但其区别在于:存储在 localStorage 的数据可以长期保留;而当页面会话结束——也就是说,当页面被关闭时,存储在 sessionStorage...应注意,无论数据存储在 localStorage 还是 sessionStorage ,它们都特定于页面的协议。 另外,localStorage 中的键值对总是以字符串的形式存储。...(需要注意,和 js 对象相比,键值对总是以字符串的形式存储意味着数值类型会自动转化为字符串类型). localStorage 的使用也非常简单,分为存入和读取,可以将其绑定在事件方法中。...// 清除本地存储中的所有值 localStorage.clear(); // 本地存储中删除特定项 localStorage.removeItem(key);

    27110

    localStorage详细总结

    的存储空间为4k),localStorage中一般浏览器支持的是5M大小,这个在不同的浏览器中localStorage会有所不同。...二、localStorage的优势与局限: 优势: 1、localStorage拓展了cookie的4K限制 2、localStorage会可以将第一次请求的数据直接存储到本地,这个相当于一个5M大小的针对于前端页面的数据库...localStorage的值类型限定为string类型,这个在对我们日常比较常见的JSON对象类型需要一些转换 3、localStorage在浏览器的隐私模式下面是不可读取的 4、localStorage...本质上是对字符串的读取,如果存储内容多的话会消耗内存空间,会导致页面变卡 5、localStorage不能被爬虫抓取到 三、localStorage的使用: localStorage是html5的新特性...的删除: 1、清空localStorage:调用localStorage的clear方法将清空localStorage中的所有内容 <!

    82530

    cookie、sessionStorage、localStorage

    =/gim,"\":\"")+"\"}")[key]; } iii.清除cookie 方式1:设置value为null(所有的) 方式2:设置过期时间为当前日期之前,比如1970.1.1 二、localStorage...iii.removeItem(key)移除数据 iv.clear()清空数据 3.事件监听 [javascript] view plain copy function handleFunc(e) { //对象e为localStorage...四、他们之间的区别(对比) 相同点:都存储在客户端 不同点: 1)存储大小 i.cookie数据大小不能超过4k; ii.sessionStorage和localStorage可以达到5M或者更大; 2...)有效时间 localStorage存储持久数据,浏览器关闭后数据不会丢失,除非主动删除数据; sessionStorage数据在当前浏览器窗口关闭后自动删除; cookie在设置的cookie过期时间之前一直有效...ii.sessionStorage和localStorage不会自动把数据发给服务器,仅保存在本地。

    75930
    领券