是否有HTML5 sessionStorage的包装器提供了良好的兼容性实现?

时间:2011-07-14 14:42:18

标签: javascript html5 storage session-storage

我们希望在新项目中使用HTML5 sessionStorage(或类似名称),但您不能在某些浏览器上依赖它。这个项目(http://code.google.com/p/sessionstorage/)提供了一个可以在很多地方工作的实现,但奇怪的是它没有使用HTML5版本(如果可用)。它总是做自己的事情。

GitHub上有这个项目(https://github.com/jas-/jQuery.handleStorage但它的仿真层是cookies(bleh!)

注意:以上内容不正确,请参阅jas-的答案,他解释说我错误地了解该项目。

那里有什么更好的东西可以提供像第一个项目那样的良好实现,但如果可用,它会自动回退到HTML5吗?我们可能会改造第一个项目,如果可以的话自动回退到HTML5,但如果已经有一个很好的解决方案,我们宁愿不构建它。

4 个答案:

答案 0 :(得分:1)

我知道你说你想要的解决方案可以做到这一切,但这样的事情出了什么问题呢?

if(!window.sessionStorage){
    $.getScript("/google_code_sessionStorage.js");
}

答案 1 :(得分:1)

根据您使用的是2还是3,有几个YUI实用程序:

如果可用的话,两者都将使用HTML5会话存储。

答案 2 :(得分:1)

Munsch电子邮件

我意识到这篇文章已经有好几年了,但我想澄清你提到的项目,我是jQuery.handleStorage的作者,并且它不使用cookie作为客户端存储的默认方法。

如果您阅读该项目的文档,您将看到其三个客户端存储选项之一是在客户端浏览器不支持HTML5 localStorage和/或sessionStorage API的情况下使用cookie。

话虽如此,如果您需要一个更健壮,更灵活的客户端存储工具,我建议使用secStore.js,因为它不会隐式要求绑定到表单,支持HTML5客户端存储选项,优雅地降级为cookie旧版浏览器的事件,并可选择使用SJCL API为可能的敏感数据提供透明加密。

答案 3 :(得分:0)

我最终对此做了更多的研究,因为我喜欢我得到的两个答案,但我想要更像YUI 3:Storage Lite,但不需要YUI。与框架无关或jQuery友好的东西对我们来说会更好。

最后,我找到了几种可能性,其中一种可能会让我们尝试并投入使用:Lawnchair

还考虑过:store.jsAmplifyJS