【问题标题】:Is there a way using Jquery to detect the back button being pressed cross browsers有没有办法使用 Jquery 来检测跨浏览器按下的后退按钮
【发布时间】:2012-05-14 19:20:14
【问题描述】:

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

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    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++);
            }
        });
     });​
    

    【讨论】:

    • 您是否从我提供的第一个链接下载了 jquery.address-1.5?
    • @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> 之后包含了文件
    • @MUG4N 出现错误:Uncaught TypeError: Cannot read property 'version' of undefined jquery.address- Uncaught TypeError: Cannot call method 'change' of undefined
    • @MUG4N 找到了解决方案,<script src="http://code.jquery.com/jquery-migrate-1.0.0.js"></script>
    【解决方案2】:

    你应该:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-06
      • 2021-07-26
      • 1970-01-01
      • 2023-03-21
      • 2012-05-01
      相关资源
      最近更新 更多