Используйте javascript для поиска параметра в url, а затем примените, если тогда логика

Я пытаюсь заставить свою страницу выполнять действие только в том случае, если видит, что в url присутствует определенный параметр.

Мне по существу нужен код javascript для этого:

рассмотрите примерную страницу, например: http://www.example.com?track=yes

Если загружается страница, содержащая параметр "дорожка" в URL-адресе, печать "трек существует", иначе, если параметр "track" не существует, "трек не существует"

Ответы

Ответ 1

Это должно работать:

if (window.location.search.indexOf('track=yes') > -1) {
    alert('track present');
} else {
    alert('track not here');
}

Ответ 2

Используйте что-то вроде функции из ответа Артема в этом сообщении SO :

if (getParameterByName('track') != '') {
   alert ('run track');
}

Ответ 3

Не сложно разбить строку запроса, чтобы найти соответствующие биты:

var path = location.substr(1), // remove ?
    queryBits = path.split('&'),
    parameters = {},
    i;

for (i = 0 ; i < queryBits.length ; i++) {
    (function() { // restrict keyval to a small scope, don't need it elsewhere
        var keyval = queryBits[i].split('=');
        parameters[decodeURIComponent(keyval[0])] = decodeURIComponent(keyval[1]);
    }());
}

// parameters now holds all the parts of the URL as key-value pairs

if (parameters.track == 'yes') {
   alert ('track exists');
} else {
    alert ("it doesn't");
}

Ответ 5

Вы можете использовать свойство window.location.search:

if(/(^|&)track(&|$)/.test(window.location.search.substring(1))) {
    alert('track exists!');
} else {
    alert('it doesn\'t...');
}