如何读取当前页面URL的#hash(或片段标识符)



如果我在https://www.website.com/#something上,我如何从URL返回哈希值"something" ?

window.location.hash就这么简单。

不要使用那些消耗CPU和影响性能的方法。

如果DOM提供了预定义的内容,请先使用它。

要传递值给PHP,请使用ajax调用PHP。

var hash = window.location.hash;
$.ajax({
    url: 'someurl.php',
    data: {hash: hash},
    success: function(){}
})

您可以使用位置。Hash属性获取当前页面的哈希值:

var hash = window.location.hash;

update

由于有一个内置的方法来通过DOM获取哈希值,上面的答案是不合适的

   var hashTag = window.location.hash
   alert(hashTag);

会变的神奇

老回答

如果你的url

中有多个哈希值,你可以做如下操作
//var href = location.href; // get the url in real worl scenario
var href = "www.bla.com#myhashtag"; // example url
var split = href.split("#"); // split the string; usually there'll be only one # in an url so there'll be only two parts after the splitting
var afterSplit = "Error parsing url";
if(split[1] != null){
    afterSplit = split[1];
}
// If everything went well shows split[1], if not then de default error message is shown
alert(afterSplit);

这里有一个例子Live Fiddle

你可以使用

h=new URL(location).hash.split`&`.find(e=>/hash_name/.test(e)).split`=`[1]

相关内容

  • 没有找到相关文章

最新更新