I6& amp; amp; local localStorage回退IE7?

时间:2012-02-14 08:18:08

标签: javascript html5 local-storage

在我们当前的项目中,我们使用HTML 5 localStorage来回退到Firefox的全局存储和IE6 / IE7的用户数据行为。 后备是通过名为jStorage的JS脚本提供的。

这工作正常,直到我们开始在IE6 / IE7中进行测试,即使它“有效”,但事实证明,userdata行为存在一个限制因素将其锁定,因此存储只能在同一个URL上设置和读取正如MSDN所说:“出于安全考虑,UserData存储只能在同一目录中使用,并且使用与persist the store相同的协议”。

因此,如果我在一个页面上设置一个值然后导航到另一个页面,虽然我在同一个站点上,但它不起作用。 这对我们来说几乎使它无法用作本地存储的后备,而本地存储的范围是每个域。

之前有没有人遇到过这个问题并找到了合适的解决方案? 任何想法或想法将不胜感激。

3 个答案:

答案 0 :(得分:1)

雷米夏普的polyfill会这样做。

https://gist.github.com/remy/350433

答案 1 :(得分:0)

如果问题是在不同路径中的两个页面上获取数据,但是在同一个域中,您可以尝试其中一个(注意:我没试过:我只是在尝试要有创意)

  1. 使用网址重写(使用.htaccess),这样您就可以通过一个/path1/page1/path2/page2 path-rewritten/page1和path-rewritten/page2 >

  2. 如果您在/path2/page2,则可以加载一个不可见的iframe,在/path1中加载一个页面,您可以在该页面中获取存储在父文档中传递的某些数据结构中的数据。登记/> 由于page1和page2是 - 每个假设 - 在同一个域中,您可以使page1和iframe通过javascript相互通信。

  3. 顺便问一下。

答案 2 :(得分:0)

理论解决方案是:

  1. 动态创建隐藏的“代理”iframe访问静态 例如,从您方便的位置检索的文件 HTTP:/domain/proxy.html
  2. 代理访问iframe中的DOM元素以保留/获取数据