Javascript在地址栏中的#之后检测变量

时间:2012-11-10 17:20:25

标签: javascript jquery variables

示例:

http://localhost/#view=1

如果我想获取变量“view”,我需要获取window.location.href,然后拆分#并执行更多操作。

这是我的问题:

<a href="#view=1">View 1</a>
<a href="#view=2">View 2</a>

是否有检测View 1点击或查看2点击的时间?对于人们点击View 2,一个函数将用于view=2

或者我必须这样做:

<a href="#view=1" onclick="setview(1);">View 1</a>
<a href="#view=2" onclick="setview(2);">View 2</a>

我希望当人们复制链接http://localhost/#view=2并发送给朋友时,功能setview(2)将在他们的朋友访问该网址时运行,而他们无需点击该链接。< / p>

1 个答案:

答案 0 :(得分:3)

您可以使用hashChange事件

$(function(){
  // Bind the event.
  $(window).hashchange( function(){
    // Alerts every time the hash changes!
    alert( location.hash );
  })

  // Trigger the event (useful on page load).
  $(window).hashchange();
});

现在在$(window).hashchange();函数中,输入您的代码:

$(window).hashchange(function(){
  $(location.hash).show();
});

在你的情况下,它将是:

$(window).hashchange(function(){
  setview(location.hash[strlen(location.hash)-1]); // Get the last character, if this doesn't work.
});

忘记添加插件:http://benalman.com/projects/jquery-hashchange-plugin/,您需要使用它。