我如何使用window.location.hash返回url的一部分

How do I return part of the url using window.location.hash

本文关键字:返回 url 一部分 hash location 何使用 window      更新时间:2023-09-26

我真的卡住了

我正在使用下面的代码添加一个动态加载页面的名称到url

var value = $(this).attr('href');
    e.preventDefault();
    window.location.hash = value;

它在url

中返回了这个

http://www.sitename.com/dev888/http://www.sitename.com/dev888/page-name

但是我只希望url的一部分像下面的例子一样返回

http://www.sitename.com/dev888//页面的名称

我如何编辑上面的代码来获得我想要的结果?

谢谢! !

您可以使用这个值来获得最后一个

var value = $(this).attr('href');
    e.preventDefault();
    var parts = value.split("/");
    value = parts[parts.length-1]; 
    window.location.hash = value;

或者您可以直接将attr('href')更改为您想要的值:)

我希望这对你有帮助

你可能想看一下pusState

https://developer.mozilla.org/en-US/docs/Web/Guide/DOM/Manipulating_the_browser_history

浏览器已经为您完成了。只要让你的链接的href哈希,让用户正常点击它:

 <a href="#my-hash">Click!</a>

自动将#my-hash附加到URL后。

试图用JavaScript完成这个是完全错误的,除非你需要逻辑来防止在某些条件下的点击,即使这样,正确的行为是指定你的哈希作为链接的href,有条件地允许点击事件由浏览器处理。

也许您觉得获取页面标题并在散列中使用它很有趣

var current_title = $(document).attr('title');
e.preventDefault();
window.location.hash = current_title ;