JQuery Detect Если на главной странице и на странице PLUS URL-адреса переменных

Я использую этот код для обнаружения домашней страницы, и он отлично работает:

var url= window.location.href;
if(url.split("/").length>3){
    alert('You are in the homepage');
}

Моя проблема в том, что мне также необходимо определить, имеет ли URL-адрес переменные, например:

mysite.com?variable=something

Мне нужно также определить, имеет ли url переменные на нем тоже

Как я могу это сделать?

Ответ 1

Взгляните на документацию window.location, нужная вам информация находится в location.search, поэтому функция для проверки может быть просто:

function url_has_vars() {
   return location.search != "";
}

Ответ 2

Использование window.location.pathname также может работать:

if ( window.location.pathname == '/' ){
    // Index (home) page

} else {
    // Other page
    console.log(window.location.pathname);
}

См. Информация о MDN в window.location.pathname.

Ответ 3

Вы можете узнать, находитесь ли вы на главной странице, сравнив href с исходным кодом:

window.location.origin == window.location.href

Чтобы получить параметры запроса, вы можете использовать здесь ответ: Как получить значения строки запроса в JavaScript?

Ответ 4

Для этого вам нужна функция поиска строки запроса.

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, " "));  
}

Перед переадресацией проверьте строку запроса и сопоставьте ее с ожидаемым значением и перенаправите в качестве требования.

Ответ 5

если текущий url - xxxxx.com, что-то вроде этого, тогда xxx

if (window.location.href.split('/').pop() === "") { 
    //this is home page
}