html5 localstorage能存多少

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了html5 localstorage能存多少相关的知识,希望对你有一定的参考价值。

每个浏览器对localstorage的支持大小是不一样的,chrome是5M ,IE10是1630K你可以用下面的js匿名函数测试不同浏览器对localstorage的支持大小

(function() 
    if(!window.localStorage) 
        console.log('当前浏览器不支持localStorage!')
        
    var test = '0123456789';
    var add = function(num) 
        num += num;
        if(num.length == 10240) 
            test = num;
            return;
        
        add(num);
    
    add(test);
    var sum = test;
    var show = setInterval(function()
        sum += test;
        try 
            window.localStorage.removeItem('test');
            window.localStorage.setItem('test', sum);
            console.log(sum.length / 1024 + 'KB');
         catch(e) 
            alert(sum.length / 1024 + 'KB超出最大限制');
            clearInterval(show);
        
    , 0.1)
)()

IE的测试结果

chrome的

参考技术A

 html5 局部存储详解 - https://21xrx.com/full_stack/Html/html5_local_storage.html

HTML5 LocalStorage:我还剩下多少空间?

【中文标题】HTML5 LocalStorage:我还剩下多少空间?【英文标题】:HTML5 LocalStorage: How Much Space Do I Have Left? 【发布时间】:2011-07-08 12:46:25 【问题描述】:

知道如何检查 HTML5 本地存储数据存储中的剩余存储空间吗?

【问题讨论】:

Luis R 的未缩短链接:***.com/questions/3027142/… @Zan:我编辑了 Luis 的答案以取消缩短 URL,感谢您的提醒。 【参考方案1】:

默认的localStorage分配大小是:5Mb

 var allocated = 5;
    var total = 0;
    for(var x in localStorage)  
        var amount = (localStorage[x].length * 2) / 1024 / 1024;  
        total += amount;  
    
    var remaining = allocated - total;
    console.log( "Used: " + total + " MB");
    console.log( "Remaining: " + remaining + " MB");

【讨论】:

这不完全取决于字符编码吗?这假设每个字符是 2 个字节。【参考方案2】:

您可以在检测到浏览器后实现“名义限制”查找表,并从中减去 localStorage 中已有的键值对大小。

【讨论】:

@PederRice 如果我现在不是太忙,我会编写一些代码,但我的基本想法是,如果您知道用户正在运行例如 Chrome(我已经过去使用了 this 的改编版),那么您将查找 LUT 上的限制(在这种情况下,是一个将浏览器版本映射到存储限制的对象),它将是 5MB(除非它是一个扩展并且没有限制localStorage 权限),然后您将测量您已经拥有的内容(不过,如果字符串是 UTF-8,可能将字符串的大小相加可能会很幼稚)并从总数中减去。 顺便说一下你可能想知道IE8支持localStorage.remainingSpace【参考方案3】:

默认为 5 兆字节。 如果存储超过 5 兆字节,它将抛出“QUOTA_EXCEEDED_ERR”异常。

【讨论】:

这取决于浏览器。 5MB 很常见,但 2.5MB 和无限制也是如此:dev-test.nemikor.com/web-storage/support-test【参考方案4】:

我不知道这是否有帮助,但你可以检查它是否已满。

“QUOTA_EXCEEDED_ERR”是超过 5 MB 的存储配额时将引发的异常。

和this other answer 可能相关。

【讨论】:

为什么要缩小网址? *** 无法检测到链接以将其放入右侧的链接问题中。

以上是关于html5 localstorage能存多少的主要内容,如果未能解决你的问题,请参考以下文章

localStorage用法总结

1tb能存多少电影和歌曲

mysql一张表到底能存多少数据?

指纹锁能存多少个指纹

sql server一个表能存多少条记录

mysql一张表到底能存多少数据?