Ответ 1
Взгляните на документацию window.location, нужная вам информация находится в location.search
, поэтому функция для проверки может быть просто:
function url_has_vars() {
return location.search != "";
}
Я использую этот код для обнаружения домашней страницы, и он отлично работает:
var url= window.location.href;
if(url.split("/").length>3){
alert('You are in the homepage');
}
Моя проблема в том, что мне также необходимо определить, имеет ли URL-адрес переменные, например:
mysite.com?variable=something
Мне нужно также определить, имеет ли url переменные на нем тоже
Как я могу это сделать?
Взгляните на документацию window.location, нужная вам информация находится в location.search
, поэтому функция для проверки может быть просто:
function url_has_vars() {
return location.search != "";
}
Использование window.location.pathname
также может работать:
if ( window.location.pathname == '/' ){
// Index (home) page
} else {
// Other page
console.log(window.location.pathname);
}
Вы можете узнать, находитесь ли вы на главной странице, сравнив href с исходным кодом:
window.location.origin == window.location.href
Чтобы получить параметры запроса, вы можете использовать здесь ответ: Как получить значения строки запроса в JavaScript?
Для этого вам нужна функция поиска строки запроса.
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
Перед переадресацией проверьте строку запроса и сопоставьте ее с ожидаемым значением и перенаправите в качестве требования.
если текущий url - xxxxx.com, что-то вроде этого, тогда xxx
if (window.location.href.split('/').pop() === "") {
//this is home page
}