jQuery + Ajax Hash / History and more

后端 未结 2 1905
抹茶落季
抹茶落季 2021-02-06 15:04

I am trying to get a handle on using URL hashes in jQuery to control history in Ajax and make links / pages book-markable. I have tried almost every plug-in out there, and I can

2条回答
  •  误落风尘
    2021-02-06 15:32

    So what are you having problems with? Setting the hash tag or handling the change of the hash?

    Of course setting the hashes is simply a question of putting the hashes in links, for example Link but I'm guessing that's not your problem.

    To actually do something with the hash, you must have a listener function that checks for example every 100ms has the hash changed and acts accordingly. A simple function could go like this:

    $(function() {
        var current_hash = false;
        setInterval(function() {
            if(window.location.hash != current_hash) {
                current_hash = window.location.hash;
                $('#content').load("content.php?page="+current_hash);
            }        
        }, 100);    
    });
    

    That (untested) function would check every 100ms if the hash has changed, and if it has, then updates the page via Ajax.

    This function also works on page load, so if user lands on the page with a link such as www.voidsync.com/2010/#images, the function will load the page 'images' automatically. So history and bookmarking works.

    Hope that helps, just ask if you meant something else.

提交回复
热议问题