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



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

有这个项目(https://github.com/jas-/jQuery.handleStorage)在GitHub上

,但它的仿真层是cookie(呸!)

注意:以上是不正确的,请看下面的答案,他解释说我对那个项目的看法是错误的。

有没有更好的东西,提供了一个很好的实现像第一个项目,但自动退回到HTML5,如果它是可用的?我们可能会对第一个项目进行改造,以便在可行的情况下自动退回到HTML5,但如果已经有一个好的解决方案,我们宁愿不这样做。

我知道你说过你想要一个解决方案,但这样的东西有什么错呢?

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

有几个YUI实用程序可以做到这一点,这取决于您是使用2还是3:

  • YUI 2: Storage Utility
  • YUI 3: Storage life

Munsch,

我知道这篇文章已经写了好几年了,但我想澄清一下你提到的项目,我是jQuery的作者。它不使用cookie作为客户端存储的默认方法。

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

如果你需要一个更强大和灵活的客户端存储工具,我会推荐secStore.js,因为它不隐式地需要绑定到表单,支持HTML5客户端存储选项,在旧浏览器的情况下优雅地降级为cookie,并可选择使用SJCL API为可能的敏感数据提供透明加密。

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

最后,我发现了几个可能性,其中一个脱颖而出,我们将尝试并使用:Lawnchair

也考虑:store.js, AmplifyJS

最新更新