28

看来sessionStorage,它在 Chrome 的隐身模式与 Safari 的隐私浏览和 Firefox 的隐私窗口上的工作方式不同?我可以在http://www.webdirections.org/blog/webstorage-persistent-client-side-data-storage/上找到一些东西,但它并没有说 Safari 的私人浏览会引发异常。

以下是我打开“私人浏览”的方式:

  1. 在 Mac 上的 Safari 上,单击菜单栏上的“Safari -> 隐私浏览”
  2. 在 Chrome 上,使用“文件 -> 新建隐身窗口”
  3. 在 Firefox 上,使用“文件 -> 新建私人窗口”

在 Safari 上,sessionStorage不起作用,如果我在控制台中执行以下操作:

> sessionStorage["foo"] = 123.4
Error: QUOTA_EXCEEDED_ERR: DOM Exception 22

> sessionStorage["foo"] 
undefined

但在 Chrome 或 Firefox 上,sessionStorage照常工作(作为非隐私浏览)。就上述sessionStorage情况而言,上述内容是否准确?

4

3 回答 3

28

您的评估实际上是准确的:

  • Safari 将仅在私人模式下使用配额0,因此所有设置值的尝试都将失败。根据规范,这还可以,因为规范没有规定最小空间要求。
  • Chrome 和 Firefox 仍然允许您使用存储,但是私有存储独立于非私有,即在私有模式下设置项目不会反射回非私有模式(localStorage仅对重要)。

请注意QuotaExceededError,如果您超出配额,其他浏览器也可以在任何给定时间随意抛出异常。

于 2013-09-17T23:21:58.163 回答
6

Safari latest version (Version 12.0) already have access to sessionStorage without any issue in incognito mode. enter image description here

于 2018-12-11T20:56:14.787 回答
4

Safari Pivate 模式支持 localstorage 和 SessionStorage。

在此处输入图像描述

于 2019-05-24T14:02:24.867 回答