我試圖在我的哈希符號後面找到字符串,因此當用戶重新加載頁面時,我只能看看該字符串,然後動態加載正確的頁面。我的網址是這樣的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