gpt4 book ai didi

javascript - 清除#而不重新加载页面

转载 作者:行者123 更新时间:2023-11-29 16:15:27 27 4
gpt4 key购买 nike

我正在将所有网站的页面加载到主索引页面中,并通过将 href 分成段并在主域名后使用 .hash 函数添加段来更新 URL 显示,如下所示:

$('a').click(function(event) {
event.preventDefault();
var my_url = this.href;

var pathArray = this.href.split('/');

var newPathname = "";
for ( i = 3; i < pathArray.length; i++ ) {
newPathname += "/";
newPathname += pathArray[i];
}

$('body').load(my_url);
window.location.hash = newPathname;

这没问题,但我遇到了一个小问题。当用户访问 http://www.mywebsite.com/然后点击,例如,“关于”链接,选择的页面加载,地址栏显示:

http://www.mywebsite.com/#/about

但是如果用户从不同的页面开始:

http://www.mywebsite.com/#/about

然后点击之后,url变成:

http://www.mywebsite.com/#/about/#/about

以此类推,直到无穷大。

如何解决?

也许有一种方法可以清除散列然后显示新散列(即删除所有以 #/开头的内容,然后添加新散列)——或者可能有更好的解决方案?

最佳答案

尝试 var my_url = this.href.replace(/#.*/,'')
这将删除 # 及其后的任何内容。

关于javascript - 清除#而不重新加载页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16883892/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com