小编典典

HTML5本地存储后备解决方案

javascript

我正在寻找可以localStorage在不具有本机支持的浏览器上模拟的javascript库和代码。

基本上,我想对我的网站进行编码以localStorage用于存储数据,并且知道它仍然可以在本身不支持它的浏览器上运行。这意味着库将检测是否window.localStorage存在,并在存在时使用它。如果不存在,那么它将通过在window.localStorage名称空间中创建自己的实现来创建某种本地存储的后备方法。

到目前为止,我已经找到了以下解决方案:

  1. 简单的sessionStorage实现。
  2. 使用cookie的实现(对此想法不满意)。
  3. Dojo的dojox.storage,但这是它自己的事情,不是真正的后备。

我知道Flash和Silverlight也可以用于本地存储,但是在将它们用作标准HTML5localStorage的后备时并没有发现任何东西。也许Google Gears也具有此功能?

请分享您发现的所有相关库,资源或代码段!我对纯JavaScript或基于jquery的解决方案特别感兴趣,但我猜这不太可能。


阅读 521

收藏
2020-05-01

共1个答案

小编典典

我使用PersistJS(github存储库),它对您的代码无缝且透明地处理客户端存储。您使用单个API并获得对以下后端的支持:

  • flash:Flash 8永久存储。
  • gears:基于Google Gears的持久存储。
  • localstorage:HTML5草案存储。
  • whatwg_db:HTML5草案数据库存储。
  • globalstorage:HTML5草案存储(旧规范)。
  • ie:Internet Explorer用户数据行为。
  • cookie:基于cookie的持久性存储。

可以禁用其中任何一个,例如,如果您不想使用cookie。有了这个库,您将在IE5.5+,Firefox2.0+,Safari3.1+和Chrome中获得本地客户端存储支持;以及浏览器具有Flash或Gears的插件辅助支持。如果启用cookie,它将在所有功能中起作用(但限于4kB)。

2020-05-01