Я пытаюсь найти строку после моего хэш-знака, поэтому, когда пользователь перезагружает страницу, я могу просто посмотреть на эту строку, а затем динамически загрузить правильную страницу. Мой url выглядит так: http://mysite.com/#!/account/
. Как получить только учетную запись /? Я попытался с помощью этого:JavaScript retrieve string после hash
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