JavaScript не может получить фрагмент при разделении URL - PullRequest
2 голосов
/ 19 февраля 2012

У меня ограниченный опыт работы с JS, и мне нужно разбить строку, которая будет выглядеть примерно так:

http://example.com/#!/about

Into http://example.com/ и! / About

Я не могу безуспешно использовать PHP, и парсинг URL не будет работать.Правильно ??

Это то, что у меня есть на данный момент:

<script type="text/JavaScript">
var newUrl = window.location.pathname;
var hash=newUrl.split('#');
var f=hash[1];
</script>

Я мог бы сделать это для 3-й строки:

    var hash=newUrl.split('com'); 

И затем объяснитьхэш, но проблема в том, что если кто-то перейдет на

example.com / index.php / #! / about

Так что после этого мне придется удвоить свой код.

Есть идеи, как разделить URL-адрес на две части, сосредоточенные вокруг хэша, без необходимости использовать то, что я только что упомянул ??

Ответы [ 2 ]

2 голосов
/ 19 февраля 2012

.pathname не включает хэш.Вместо этого используйте свойство .hash.Используйте substring, чтобы убрать символ # спереди.

0 голосов
/ 19 февраля 2012

Если это не ваш window.location, вы можете использовать /([^:]+://[^/]+)[^#]+#(.*)/ - вы получите необходимые части в первой и второй группах захвата.

...