关于localStorage的思考: js可能会搞崩一台电脑

本文探讨了一种使用浏览器localStorage特性的独特方法,通过多个标签页连续写入数据至localStorage,达到极限存储的目的。文章介绍了如何利用iframe不断打开不同域名来获取window对象,并持续写入数据,同时讨论了如何保持页面活跃,确保数据写入直至存储上限。

前言

周所周知,js在浏览器(客户端)运行的时候,往往只能影响到当前标签页,就算写的死循环,充其量也只能让整个浏览器崩溃
直到有一天,我发现localStroage是储存在C盘里的(大约是为了读写更快吧),于是,奇怪的知识增加了.jpeg

思路

  1. localStroage是有限制大小的,大约是2-5MB,但是它是永久储存的,所以可以用多个标签页储存
  2. 打开标签页的动作未免太明显,会引起用户警觉,所以用一个隐藏掉的iframe不断地打开不同的域名,ip,再利用获取到的window对象写入localStroage
  3. 如何不让用户关掉当前页面直到我们把c盘塞满呢,最好就是放一段视频,能吸引眼球的就行,啥颜色的自己想吧

代码实现

龙爷你怎么看?

其它

  1. 获取localStroage的存储上限
(function () {
  let test = '0123456789'
  const add = num => {
    num += num
    if (num.length == 10240) {
      test = num
      return
    }
    add(num)
  }
  add(test)
  let sum = test
  const show = setInterval(() => {
    sum += test
    try {
      window.localStorage.removeItem('test')
      window.localStorage.setItem('test', sum)
      console.log(sum.length / 1024 + 'KB')
    } catch  {
      alert(`存储了: ${sum.length / 1024}kb`)
      clearInterval(show)
    }
  }, 0)
})()
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值