我真的被困了
我目前正在使用以下代码将动态加载页面的名称添加到网址
var value = $(this).attr('href');
e.preventDefault();
window.location.hash = value;
它几乎可以在url
中返回它http://www.sitename.com/dev888/#http://www.sitename.com/dev888/page-name
但是我只想要像下面的例子那样返回网址的一部分
http://www.sitename.com/dev888/#/page-name
如何编辑上面的代码以获得我想要的结果?
感谢!!
答案 0 :(得分:2)
您可以使用该值来获取最后一个
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
答案 1 :(得分:0)
浏览器已经为您完成此操作。只需将链接的href
设为哈希值,然后让用户正常点击它:
<a href="#my-hash">Click!</a>
它会自动将#my-hash
附加到网址。
尝试使用JavaScript完成此操作是完全错误的,除非您在某些条件下需要逻辑来阻止点击,即使这样,正确的行为是将您的哈希指定为链接的href,有条件地允许click事件为由浏览器处理。
答案 2 :(得分:0)
也许您觉得有趣的是获取页面标题并在哈希
中使用它var current_title = $(document).attr('title');
e.preventDefault();
window.location.hash = current_title ;