协慌网

登录 贡献 社区

如何使用 JavaScript 检查 URL 中的 #hash?

我有一些 jQuery JavaScript 代码,我想只在 URL 中有一个哈希(#)锚链接时运行。如何使用 JavaScript 检查此角色?我需要一个简单的 catch-all 测试来检测这样的 URL:

  • example.com/page.html#anchor
  • example.com/page.html#anotheranchor

基本上是这样的:

if (thereIsAHashInTheUrl) {        
    do this;
} else {
    do this;
}

如果有人能指出我正确的方向,那将非常感激。

答案

简单:

if(window.location.hash) {
  // Fragment exists
} else {
  // Fragment doesn't exist
}
if(window.location.hash) {
      var hash = window.location.hash.substring(1); //Puts hash in variable, and removes the # character
      alert (hash);
      // hash found
  } else {
      // No hash found
  }

把以下内容:

<script type="text/javascript">
    if (location.href.indexOf("#") != -1) {
        // Your code in here accessing the string like this
        // location.href.substr(location.href.indexOf("#"))
    }
</script>