расположение javascript - PullRequest
       3

расположение javascript

1 голос
/ 15 июня 2010

Это проверяет, "если мы находимся на movies.php странице":

if (location.href.match(/movies.php/)) {
// something happens
}

как добавить для этого (например, or) ", если мы находимся на music.phpстраница "

Ответы [ 3 ]

1 голос
/ 15 июня 2010

Как насчет ..

if (/(movies\.php|music\.php)/.test(location.href)) {
// Do something
}

Или даже лучше ...

if (/(movies|music)\.php/).test(location.href)) {
// Do something
}

Обратите внимание на \., Это буквально соответствует "одному периоду", как в регулярном выражениисоответствует любому символу, таким образом, это правда, но, вероятно, не то, что вы хотите ...

if (/movies.php/.test('movies_php')) alert(0);
if (/movies.php/.test('movies/php')) alert(0);
1 голос
/ 15 июня 2010

Полагаю, вы хотите сказать, хотите ли вы набрать movies.php или music.php? Это означает, что вы хотите сделать то же самое, если вы находитесь на любом из них?

if (location.href.match(/movies\.php/) || location.href.match(/music\.php/)) {
// something happens
}

Или, если вы хотите сделать что-то другое, вы можете использовать else if

if (location.href.match(/movies\.php/)) {
// something happens
}

else if(location.href.match(/music\.php/)) {
// something else happens
}

Кроме того, вместо match вы можете использовать test:

if (/movies\.php/.test(location.href) || /music\.php/.test(location.href)) {
// something happens
}

Основываясь на ответе Поля, вы можете уточнить регулярные выражения в операторе if, который проверяет, находитесь ли вы на любой странице, до одного регулярного выражения:

/(music|movies)\.php/
0 голосов
/ 15 июня 2010

Следующее улучшает предыдущие ответы несколькими способами ...

if (/(movies|music)\.php$/.test(location.pathname)) {
    var pageName = RegExp.$1; // Will be either 'music' or 'movies'
}
  • Предоставляет имя страницы (расширение sans .php) через свойство RegExp. $ 1
  • Использование location.pathname устраняет посторонние попадания в возможные параметры запроса (например, "...? Redirect = music.php")
  • Использование регулярного выражения '|'оператор объединяет тесты в одно регулярное выражение (особенно хорошо, если у вас есть много страниц, которые вы хотите сопоставить)
  • Использование оператора регулярного выражения '$' ограничивает соответствие до конца пути (избегает посторонних попаданий в середине пути. Не очень вероятно в вашем примере, но хорошая практика)
...