Ответ 1
Это должно работать:
if (window.location.search.indexOf('track=yes') > -1) {
alert('track present');
} else {
alert('track not here');
}
Я пытаюсь заставить свою страницу выполнять действие только в том случае, если видит, что в url присутствует определенный параметр.
Мне по существу нужен код javascript для этого:
рассмотрите примерную страницу, например: http://www.example.com?track=yes
Если загружается страница, содержащая параметр "дорожка" в URL-адресе, печать "трек существует", иначе, если параметр "track" не существует, "трек не существует"
Это должно работать:
if (window.location.search.indexOf('track=yes') > -1) {
alert('track present');
} else {
alert('track not here');
}
Используйте что-то вроде функции из ответа Артема в этом сообщении SO :
if (getParameterByName('track') != '') {
alert ('run track');
}
Не сложно разбить строку запроса, чтобы найти соответствующие биты:
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");
}
То, что вы ищете, называется строкой запроса или параметром запроса. См. Эту функцию, чтобы получить ее без использования плагинов, таких как jQuery: Как получить значения строки запроса в JavaScript?
Вы можете использовать свойство window.location.search
:
if(/(^|&)track(&|$)/.test(window.location.search.substring(1))) {
alert('track exists!');
} else {
alert('it doesn\'t...');
}