【问题标题】:Internet Explorer Local StorageInternet Explorer 本地存储
【发布时间】:2016-01-13 02:20:26
【问题描述】:

我有一个在除 IE 之外的所有浏览器上都运行良好的应用程序。我正在使用 HTML5 提供的本地数据库。我需要为应用程序的用户存储 3 个属性。我知道在 IE 中我不能使用数据库方法,我正在考虑使用存储在本地存储中的 3 个数组,每个属性一个数组。有没有更好(更简单)的方法?

谢谢

例如,我想存储 1) 目的地 2) 他们来自哪里 3) 日期 所以我想我会存储一个目的地数组,一个来自位置的数组和一个日期数组。然后使用一些 id 我可以索引数组并获取相应的信息。

【问题讨论】:

  • 您是否有一些示例代码可以准确显示您存储的内容?
  • 需要支持哪些版本的IE?
  • 我需要支持 IE 8 和 IE 9。

标签: javascript html internet-explorer local-storage


【解决方案1】:

如果您需要本地存储,那么您需要本地存储!根据您描述的信息,我认为在会话 cookie 中使用它可能太重了。

查看the docs。请注意,只有 IE8+ 支持此功能,因此如果您需要支持其他版本 - 您需要做一些额外的工作。

我会在可能的情况下亲自启用 localStorage,然后如果浏览器不支持它(而且数据对于 cookie 来说肯定太多),则回退到服务器的往返。

更新 RE Polyfills

请记住,如果浏览器不支持 localStorage 等,Rafael 建议的 polyfill 将回退到 cookie。请务必使用良好的数据分布进行测试,并记住它将发送所有每个请求的数据(有它自己的后果)。

【讨论】:

  • 重新 polyfills:一些 polyfills 回退到浏览器特定的实现(例如 userData),不一定是 cookie。
【解决方案2】:

对于 IE,可以使用 polyfill 模拟原生 localStorage:https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-browser-Polyfills

LocalStorage 使用键:值系统。但是您可以使用 JSON.Stringify 和 JSON.parse 在一个键中保存多个数据。

【讨论】:

    【解决方案3】:

    在 IE 中的 localStorage 不适用于此 url: file:///P:/Dropbox/abc_web/ingrid8/ingrid.htm#car..

    如果可行,则通过网络: 文件://pedrojelp/p/Dropbox/abc_web/ingrid8/ingrid.htm#car..

    【讨论】:

    • 我不明白这一点,也不认为它回答了这个问题,尽管这可能是因为我不明白。你能澄清一下你在说什么吗?
    • 你能解释一下这是如何回答这个问题的吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-16
    • 1970-01-01
    • 2013-07-17
    • 1970-01-01
    • 1970-01-01
    • 2013-09-16
    • 2018-07-31
    相关资源
    最近更新 更多