IE9 + pushstate +刷新

时间:2012-12-11 01:19:22

标签: ajax internet-explorer backbone.js hashtag pushstate

我正在使用backbone.js和pushstate。在IE9中,它降级为使用hashtag和AJAX请求工作正常。我遇到的问题是刷新页面。我的链接采用以下格式:

/ a_username / a_collection_id

IE9中的

如果我在:

/ ME / collection1

然后点击AJAX链接:

/ ME / collection2

我明白了:

/ ME / collection1#ME / collection2

当我刷新页面时,因为服务器在hashtag之后一无所知,我被带回/ me / collection1而不是预期的/ me / collection2。

在没有pushstate的浏览器中,此问题的解决方法是什么?

1 个答案:

答案 0 :(得分:0)

您可以检查初始页面加载并查看是否有主题标签,然后执行重定向。类似的东西:

window.onload = function(){
    if (window.location.hash){
        window.location.replace("...root url..." + window.location.hash);
    }
};

这不是最干净的解决方案,因为每当有人登录带有标签的链接时它都会导致重定向,但它会为您提供您正在寻找的结果。