我真的卡住了
我正在使用下面的代码添加一个动态加载页面的名称到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 ;