Javascript检索字符后的哈希
我正在构建一个ajax网站,当我点击导航按钮时,它会加载页面,但当我重新加载页面时,问题就会出现。重新加载页面后,无论url是什么,页面默认返回加载Javascript检索字符后的哈希,javascript,jquery,ajax,jquery-load,Javascript,Jquery,Ajax,Jquery Load,我正在构建一个ajax网站,当我点击导航按钮时,它会加载页面,但当我重新加载页面时,问题就会出现。重新加载页面后,无论url是什么,页面默认返回加载main.html。我的散列有点不同,它看起来像这样/。如何检索url并释放除/Path/之外的所有内容。作为参考,这是我的一个URL的样子http://mysite.com/#!/帐户/设置。如何仅获取url的帐户/设置部分。如果我说得通的话,非常感谢。尝试了window.location.hash.replace(“#!/”,“) 顺便说一下,您
main.html
。我的散列有点不同,它看起来像这样/代码>。如何检索url并释放除/Path/
之外的所有内容。作为参考,这是我的一个URL的样子http://mysite.com/#!/帐户/设置
。如何仅获取url的帐户/设置部分。如果我说得通的话,非常感谢。尝试了window.location.hash.replace(“#!/”,“)
顺便说一下,您应该停止使用hashbang,开始使用:)使用正则表达式。我在正则表达式方面不是最好的,但这很有效:
var oldLoc = 'http://mysite.com/#!/account/settings',
patt = /#!(.+)/,
newLoc = oldLoc.match(patt)[1]; // This returns `/account/settings`
您能把问题的格式设置得更好吗?这很难理解…@elclanrs你看,希望我更具体一点。如果我错了,请纠正我,但这不会取代哈希吗?我不想删除散列,只想找出散列后的路径。不,它返回散列并删除#!/一部分。你为什么不试试看呢:)?好的,谢谢,对不起,我不能试试,我当时正在用iPhone。刚试过,它就把#去掉了!但是如何删除http://mysite.com/
或http://www.mysite.com/
?谢谢window.location.hash
只返回URL中的哈希值(因此它不会返回域/路径)。如果你有一个URLhttp://mysite.com/#test
,window.location.hash
将返回#test
。然后使用.replace()
您可以摆脱您不想要的东西。