Modernizr是否在每个页面请求上创建新的会话存储表/对象?

时间:2011-12-22 18:25:52

标签: javascript html safari modernizr session-storage

在调试应用程序之前,我注意到在Web Inspector中,每次请求都会出现一个新的会话存储对象( table?)。

截图:

enter image description here

你会注意到资源 - >会话存储 test.localhost 有多个条目。

所以,我分心了我实际上打算调试的内容,并继续搜索以找出造成这种情况的原因。我把它缩小到页面上包含 Modernizr.js 的时候。

我一直在各种不同的应用程序中使用Html5 Boilerplate,所以我回到了裸样板代码,并在那里也得到了相同的行为。

请注意,上面的屏幕截图来自标准的样板代码,没有别的。

那么,这是标准行为吗?这是我应该关注的吗?即使在我的应用程序一次使用几个小时后,我也没有注意到任何性能问题。

作为参考,我正在运行:

Safari(5.1.2)
狮子(10.7.2)
最新的样板代码(提交9feb29f4654540297e358454b821b2e29b848be8)

1 个答案:

答案 0 :(得分:1)

这是Safari中开发人员工具中的一个错误,它已在最近的WebKit nightly版本中得到修复。

并不是严格来说,包含了Modernizr,而是使用window.sessionStorage来缓存其结果以备将来使用。

每次重新加载使用window.sessionStorage(或不使用Modernizr)的页面时,开发工具的会话存储列表中都会显示另一个条目。使用window.localStorage和WebSQL数据库观察到相同的行为。