Is there a way using Jquery to detect the back button being pressed cross browsers
Asked Answered
R

2

11

I have a website that is on a slide show and when the user presses the back button I would like it to go back to the album view not the prior and prevent page. Is there a way of doing this? thanks for any help or advice.

Rocaille answered 5/5, 2012 at 13:53 Comment(0)
S
15

jQuery Address provides strong cross-browser support for browser history and Ajax crawling:

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

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

Greetings

UPDATE:

you can find a good sample right here:

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

some code in short:

 $(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++);
        }
    });
 });​
Sustentacular answered 5/5, 2012 at 13:55 Comment(4)
Did you download jquery.address-1.5 from first link I provided?Sustentacular
@Sustentacular yes, i included the the file right after 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>Lignite
@Sustentacular getting errors: Uncaught TypeError: Cannot read property 'version' of undefined jquery.address- Uncaught TypeError: Cannot call method 'change' of undefined Lignite
@Sustentacular found the solution, <script src="http://code.jquery.com/jquery-migrate-1.0.0.js"></script>Lignite
U
4

You should:

  1. Set location.hash when page state changes.
  2. When location.hash changed by user (for example, by pressing back button) render appropriate page contents.
Uund answered 5/5, 2012 at 13:57 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.