在浏览器中,Safari的私密浏览中的sessionStorage与Chrome的隐身模式和Firefox的私人窗口的工作方式不同?

时间:2013-09-17 21:20:00

标签: google-chrome firefox safari session-storage

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

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

  1. 在Mac上的Safari上,点击菜单栏上的“Safari - >私密浏览”
  2. 在Chrome上,使用“文件 - >新的隐身窗口”
  3. 在Firefox上,使用“文件 - >新私人窗口”
  4. 在Safari上,sessionStorage不起作用,如果我在控制台中执行以下操作:

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

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

3 个答案:

答案 0 :(得分:27)

您的评估几乎准确无误:

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

请注意,如果您超过配额,其他浏览器也可以在任何指定时间免费提出QuotaExceededError例外。

答案 1 :(得分:1)

Safari的最新版本(版本12.0)已经可以访问sessionStorage,并且在隐身模式下没有任何问题。 enter image description here

答案 2 :(得分:0)

Safari Pivate模式支持本地存储和SessionStorage。

enter image description here