有没有办法使用 Jquery 来检测跨浏览器按下的后退按钮

IT技术 javascript jquery
2021-02-22 04:39:43

我有一个幻灯片放映的网站,当用户按下后退按钮时,我希望它返回到相册视图而不是之前的阻止页面。有没有办法做到这一点?感谢您的任何帮助或建议。

2个回答

jQuery Address 为浏览器历史记录和 Ajax 爬取提供了强大的跨浏览器支持:

http://www.asual.com/jquery/address

http://github.com/asual/jquery-address

问候

更新:

你可以在这里找到一个很好的样本:

http://jsfiddle.net/5L6Ur/10/

一些代码简而言之:

 $(function() {
    $('a').click(function(e) {
        e.preventDefault();
        $.address.value($(this).attr('href'));
    });
    var changecount = 0;
    $.address.change(function(e) {
        if (typeof e !== 'function') {
            $('span').html(changecount++);
        }
    });
 });​
@MUG4N 找到了解决方案, <script src="http://code.jquery.com/jquery-migrate-1.0.0.js"></script>
2021-04-27 04:39:43
@MUG4N 出现错误: Uncaught TypeError: Cannot read property 'version' of undefined jquery.address- Uncaught TypeError: Cannot call method 'change' of undefined
2021-05-11 04:39:43
您是否从我提供的第一个链接下载了 jquery.address-1.5?
2021-05-14 04:39:43
@MUG4N 是的,我在之后包含了文件 jquery <script src="http://code.jquery.com/jquery.min.js"></script> <script src="jquery.address-1.5.min.js"></script> <script type="text/javascript"> $(function() { $('a').click(function(e) { e.preventDefault(); $.address.value($(this).attr('href')); }); var changecount = 0; $.address.change(function(e) { if (typeof e !== 'function') { $('span').html(changecount++); } }); }); </script>
2021-05-18 04:39:43

你应该:

  1. location.hash当页面状态改变时设置
  2. location.hash 用户更改时(例如,通过按后退按钮)呈现适当的页面内容。