【问题标题】:SammyJS IE setLocation CachingSammyJS IE 设置位置缓存
【发布时间】:2014-10-15 16:24:41
【问题描述】:

当我使用 SammyJS 触发设置位置时,IE 似乎缓存了 url,它不会触发路由。为了解决这个问题,我在路线的末尾添加了一个日期字符串:

var d = Date.now();
sammy.setLocation("#location" + d);

有没有更好的方法可以在不添加日期字符串的情况下解决此问题?

【问题讨论】:

    标签: javascript date hash location sammy.js


    【解决方案1】:

    IE9 及之前的版本会缓存 GET 请求。 (我认为这不会发生在 IE>=10 中,但请随时纠正我。)另外,如果没有记错的话,IE

    也就是说,有几个选项可以尝试破解它:

    • 您已经在做什么了。 我已经看到将日期戳作为查询字符串参数添加到获取请求中以解决此问题。它有效,但感觉很老套。
    • 无缓存标头。您可以发回过期日期已过去的无缓存标头。这将强制浏览器重新请求资源。我不知道这在 Sammy 内部是否可行,但如果您要向服务器发出 GET,则可能值得一试。 (我很好奇这是否可行。)
    • 请改用 POST。 POST 不会被缓存。不确定这是否是您特定场景中的一个选项,但值得一提。

    【讨论】:

      猜你喜欢
      • 2015-05-04
      • 2021-12-28
      • 2012-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多