Javascript - условно используя доменное имя

1

Я решил решение, которое делает условие, чтобы знать, если я НЕ на индексной странице, фоновое изображение элемента должно быть ничем. Как я могу это сделать без необходимости писать домен страницы? Решение лучше, чем это:

if(window.location.href != 'http://example.com/'){
  document.querySelector('.menu-principal')
  .style.backgroundImage = 'none' 
} 

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

  • 0
    Да, было бы два // до mysite
  • 0
    Используйте замену строки, чтобы заменить вашу схему: //domain.tld/ на «», тогда у вас останется только путь к ресурсу.
Показать ещё 2 комментария
Теги:

2 ответа

2
Лучший ответ

Один из вариантов - проверить location.pathname, которое будет содержать все в строке URL-адреса за пределами домена - например, для этой страницы, URL-адрес которой

https://stackoverflow.com/questions/53000339/javascript-conditional-using-the-domain-name/53000364

имя пути

/questions/53000339/javascript-conditional-using-the-domain-name/53000364

Если на индексной странице, даже если в строке URL нет конца / нет, путь имеет имя /. Итак, если ваш путь имеет значение, отличное от /, вы знаете, что находитесь где-то, кроме индексной страницы:

if (window.location.pathname !== '/'){
  document.querySelector('.menu-principal')
    .style.backgroundImage = 'none' 
}
0

Использовать этот:

var { pathname } = window.location;

if (!(pathname == "" || pathname == "/" || pathname == "/index.html")) {
    document.querySelector(".menu-principal").style.backgroundImage = "none";
}

Таким образом, следующая страница будет указательной, и поэтому фоновое изображение будет видимым:

https://stackoverflow.com
https://stackoverflow.com/
https://stackoverflow.com/index.html

Ещё вопросы

Сообщество Overcoder
Наверх
Меню