0

我有一个长页面,通过scrollTop().

因为 scrollTop() 不能与浏览器的后退按钮正常工作(浏览器忽略它)我想尝试在每个 popstate 上刷新浏览器,然后它会工作并且用户滚动位置将是它应该在的位置。

问题是我的代码导致无限刷新。

    $(window).bind('popstate', function(event) {
        //var path = window.location.pathname;
        //var filename = path.match(/.*\/([^/]+)\.([^?]+)/i)[1];
        //var pos = "#" + filename;
        //$(document).scrollTop(pos);
        location.reload();
    });

如何修复它只刷新一次?我试过one()但它是一样的。

4

1 回答 1

-1

有很多用于浏览器历史记录的 jQuery 和纯 JS 插件,可以满足您的需求。
我认为刷新页面不会为您启用浏览器历史记录。

jQuery 烧烤
http
://benalman.com/projects/jquery-bbq-plugin/ 演示:
http://benalman.com/code/projects/jquery-bbq/examples/fragment-basic/#chicken.html

历史 JS
https://github.com/browserstate/history.js/

于 2013-05-12T09:53:37.457 回答