可用的磁盘空间
>在开始讨论本地存储之前,我想概述大型移动设备和桌面浏览器中可用的磁盘空间。以下表是基于文章“在移动浏览器上使用配额”。
作为一个很好的做法,您应该尝试执行尽可能少的读取。另外,由于我们正在处理同步API,因此您应该尝试仅在窗口启动窗口后才从本地存储中读取数据,以避免阻止UI线程。
事物已经改变>但是情况越来越好。 Mobify的Peter McLachlan发表的一篇文章解释说,本地存储的速度比移动设备上的本机缓存快5倍。
在同一篇文章的附录中,您可以看到移动浏览器上本地存储的性能的演变以及它的改进程度。您还可以看到本地存储始终比本机缓存更快。
>最近有一些网站使用本地存储来缓存资产,例如使用本地存储进行关键路径CSS的监护人。您可以在2014年速度会议上查看此演示文稿,以了解他们如何做到这一点。
>最近也开始在本地存储中加入Web字体。在本文有关最近在其网站上实施的一些绩效改进的文章中,他们报告了推迟的网络字体并将其缓存在当地存储中,这导致了最有效的改进。
>>
>其他浏览器(例如Chrome和Firefox)允许您在私有模式下将数据存储在本地存储中,但是当您退出专用模式时,将清除数据。这是由于隐私问题造成的,因为在私有模式下,有人可能会使用持久数据来了解用户的操作。如果预计将在随后的访问中出现在上一个会话下的值下,则此问题可能会破坏您的应用程序的行为。因此,为了安全地使用本地存储,这不仅是测试支持的好习惯,而且是测试获取和设置项目的能力。
>>有关在私有模式下的本地存储行为以及如何在不同浏览器中查看本地存储内容的更多信息,您可以使用“在测试时不要忘记检查私人浏览模式”作为参考。
>结论
> HTML5本地存储的最大存储限制是多少?但是,大多数现代浏览器每个域提供约5MB的存储空间。这明显大于cookie提供的4KB(约4096个字节)。重要的是要注意,此存储是每个域,而不是每个本地存储对象。 >您可以通过在JavaScript中使用“ IN”运算符来检查浏览器是否支持HTML5本地存储。这是一个简单的代码段,检查本地存储支持: >您可以使用clear()方法从HTML5本地存储中清除数据。此方法从当前域的本地存储中删除了所有键值对。这是一个简单的代码片段: 是的,您可以将对象或数组存储在HTML5本地存储。但是,本地存储仅支持字符串键值对。因此,您需要在存储之前使用json.stringify()将对象或数组转换为字符串,然后在检索时使用json.parse()将其转换回对象或数组。本地存储和会话存储之间的区别? 您可以使用简单的循环与localstorage.key()方法和localStorage.getItem()结合使用for Loop()迭代本地存储中的所有值方法。 不,不,在子域之间无法共享本地存储。每个子域都有其自己的独立本地存储。 不,不能在不同的浏览器之间传输本地存储数据。每个浏览器都有其自己的独立本地存储。 当超过本地存储配额时,抛出了quota_exceeded_err异常。您可以通过将其捕获在试用块中并采取适当的措施来处理此异常,例如清除某些空间或通知用户。
if(window && window中的'localStorage'&& window ['localStorage']!== null){
> } else {
//不支持本地存储
}
localstorage.clear();>我可以存储对象或数组中的html5 local Storage中吗?
>本地存储和会话存储之间的主要区别在于其寿命和范围。即使关闭浏览器并重新打开浏览器,本地存储中的数据仍然存在,而页面会话结束时会话存储中的数据将被清除,即当关闭浏览器时。
>可以在子域之间共享本地存储吗?
可以在不同的浏览器之间传输本地存储数据吗?
>如何处理本地存储配额超过错误?
以上是HTML5本地存储重新审视的详细内容。更多信息请关注PHP中文网其他相关文章!