0

我真的被困住了

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

var value = $(this).attr('href');

    e.preventDefault();
    window.location.hash = value;

它几乎可以在 url 中返回 this

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

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

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

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

感谢!!

4

3 回答 3

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

于 2013-05-21T12:39:27.713 回答
0

浏览器已经为您完成了这项工作。只需将您的链接href设为哈希,然后让用户正常点击它:

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

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

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

于 2013-05-21T12:38:57.333 回答
0

也许你觉得有趣的是获取页面的标题并在哈希中使用它

var current_title = $(document).attr('title');
e.preventDefault();
window.location.hash = current_title ;
于 2013-05-21T12:45:47.013 回答