Javascript I6和;IE7?

Javascript I6和;IE7?,javascript,html,local-storage,Javascript,Html,Local Storage,在我们当前的项目中,我们正在使用HTML5LocalStorage,Firefox将其回退到全局存储,IE6/IE7将使用userdata行为。 回退是通过一个名为的JS脚本提供的 这一切正常,直到我们开始在IE6/IE7中进行测试,尽管它“起作用”,但事实证明,userdata行为中存在一个限制,将其锁定,因此只能在同一URL上设置和读取存储,或者按照MSDN的说法,“出于安全原因,userdata存储只能在同一目录中使用相同的协议” 因此,如果我在一个页面上设置一个值,然后导航到另一个页面,

在我们当前的项目中,我们正在使用HTML5LocalStorage,Firefox将其回退到全局存储,IE6/IE7将使用userdata行为。 回退是通过一个名为的JS脚本提供的

这一切正常,直到我们开始在IE6/IE7中进行测试,尽管它“起作用”,但事实证明,userdata行为中存在一个限制,将其锁定,因此只能在同一URL上设置和读取存储,或者按照MSDN的说法,“出于安全原因,userdata存储只能在同一目录中使用相同的协议”

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

以前有没有人遇到过这个问题并找到了一个合适的解决方案?

任何想法或想法都将受到欢迎。

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

  • 使用url重写(使用
    .htaccess
    )以便可以通过单个
    路径重写/page1
    路径重写/page2
    访问
    /path1/page1
    路径重写/page2

  • 如果您在
    /path2/page2
    中,您可以加载一个不可见的iframe,在
    /path1
    中加载一个页面,从中可以获取存储在父文档中传递的某些数据结构中的数据。
    由于page1和page2(根据假设)在同一个域中,您可以使page1和iframe通过javascript相互通信


  • 顺便说一句,好问题。

    理论上的解决方案是:

  • 动态创建一个隐藏的“代理”iframe访问静态 从您方便的位置检索的文档,例如 http:/domain/proxy.html
  • 代理访问iframe中的DOM元素以持久化/获取数据

  • 雷米·夏普的polyfill可以做到这一点


    您真的需要IE6和IE7支持吗?好问题,我们正在查看momnet的日志,以了解大部分用户仍然使用IE6/IE7的原因。不幸的是,它看起来,可能是的,我们确实需要它。虽然这个链接可以回答这个问题,但你应该避免只提供链接的答案,因为链接往往会随着时间的推移而衰减。