Вывести код во всех дочерних ссылках каталога jQuery

Владислав Белецкий
Владислав Белецкий .
Категория:
Комментариев: 0

Бывают случаи, когда нужно выполнить код на определенных страницах сайта, например, только в каталоге и всех его дочерних ссылках.

Примером этого случая может быть ссылка-каталог: сайт.ру/papka. И чтобы код выполнялся во всех ссылках после /papka, например: /papka/2.html, /papka/5.html, /papka/info/7.html, но не в таких /papka2, /papka2/9.html.

Общим совпадением для всех ссылок нужного нам типа будет общий родитель: papka. По нему и создадим код, который определит, нужную нам директорию, а затем будем проверять на каждой ссылке ее наличие.

Рассмотрим рабочий код, составленный мной:

<script>
$(document).ready (function () {
var pathes = window.location.pathname + window.location.search; //получаем ссылку от домена типа: /catalog/konservy/pashtet/
var deeef = pathes.replace(//catalog/konservy/.*/,”good”); //пишем ссылку родителя: /catalog/konservy/
if (deeef == ‘good’) alert (‘Эта ссылка дочерняя’);
});
</script>

Скрипт будет выводить сообщение во всех дочерних ссылках родителя /catalog/konservy типа: /catalog/konservy/pashtet/, /catalog/konservy/about, /catalog/konservy/onas и т.д.

Для работы – указать ссылку родителя в var deeef

В скрипте я использую переменную pathes, которая складывается из двух команд (для примера рассмотрим ссылку: сайт.ру/papka.php?user=true):

  • window.location.pathname – возвращает часть ссылки, которая идет после домена: /papka.php
  • window.location.search – возвращает часть ссылки, которая является get запросом (): ?user=true

Я не стал использовать window.location.href, так как он работает с привязкой к домену. Это может быть неудобным, например при переезда сайта на другой домен. Поэтому здесь используется именно такая связка ссылки.

Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии