我试图在我的哈希符号后面找到字符串,因此当用户重新加载页面时,我只能看看该字符串,然后动态加载正确的页面。我的网址是这样的http://mysite.com/#!/account/
。我如何检索/帐户/?我一直在使用这种尝试:哈希后的JavaScript检索字符串
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)是否有更简单的方法来查找页面的散列值,然后如上所示加载正确的页面?
谢谢!
我回滚您的编辑;解决方案应该作为问题的答案发布,而不是作为问题的一部分。 – yoozer8 2013-04-04 18:49:04