gpt4 book ai didi

JavaScript 在哈希后检索字符串

转载 作者:行者123 更新时间:2023-11-30 07:10:32 27 4
gpt4 key购买 nike

我试图在我的井号之后找到字符串,这样当用户重新加载页面时,我可以只查看该字符串,然后动态加载正确的页面。我的网址看起来像这样 http://mysite.com/#!/account/。我如何只检索/account/?我试过使用这个:

var oldLoc = window.location,
patt = /#!(.+)/,
newLoc = oldLoc.match(patt)[1]; // This returns `/account/settings`

if (newLoc == '' || newLoc == '#!/' || newLoc == '/#!' || newLoc == '/#!/') {
$('#reload_section').load('main.php');
} else if (newLoc == '/newsfeed/') {
$('#reload_section').load('newsfeed.php');
} else if (newLoc == '/account/') {
$('#reload_section').load('account.php');
} else if (newLoc == '/search/') {
$('#reload_section').load('ajaxsearch.php');
}

如果我将像 http://mysite.com/#!/account/ 这样的值放在 oldLoc 变量中,但如果我把我拥有的值它给了我这个错误:

TypeError: 'undefined' is not a function (evaluating 'oldLoc.match(patt)')

1)为什么这不起作用,我已经尝试了所有不同的 window.location、document.location 组合,但没有任何效果。
2)有没有更简单的方法来找到页面的哈希值,然后加载正确的页面,如上所示?

谢谢!

最佳答案

使用 window.location.hash。对于 URL http://mysite.com/#!/account/,它将返回 #!/account/。现在,只需使用正则表达式将前面的 #! 去掉:

window.location.hash.replace(/^#\!/,"")

上面的代码会给你/account/

编辑:你也可以使用这个:

window.location.hash.substring(2)

关于JavaScript 在哈希后检索字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9287658/

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