开发者

JavaScript: get and set variables in window.location.hash?

Does anyone have a good solution for getting and setting variables in window.location.hash?

Take a URL that looks like this:

domain.com/#q=1&s=2

What I'd like is an unstressful way - JavaScript or jQuery - to check the values of q and s when the page loads, and change them following events on the page.

I have found some code for getting hash variables, but nothing sensible for setting them.

Am I missing something really obvious, or do I need to roll my own solution (and release it开发者_如何转开发!)?

Thanks.


Haven't used it but there is jHash

jHash allows you to work with the 'location.hash' value in a similar fashion to a server-side query string.

This library utilizes the HTML5 "onhashchange" event, but also includes a fall back to still allow the change notifications to work properly in older web browsers.


jQuery BBQ can do this.

See also:

  • Get URL parameter with jQuery
  • Get QueryString values with jQuery

Edit as @gonchuki points out, jQuery.query can also do this.


JHash didn't work for me in that I wanted it to trigger the routes right away. I personally used routie instead.

It lets you do advanced routing just like jHash but will trigger on page load correctly.

Below will match example.com/#users/john

routie('users/:name', function(name) {
    //name == 'bob';
});
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜