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

前言

周所周知,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)
})()
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值