@denismix

Как запускать js только на страницах в URL которых есть /shop/?

В магазине (в CMC) можно добавить js скрипты только ко всем страницам сразу.
Подскажите плиз конструкцию на js или jQuery, которая будет запускать их только на страницах вида sitename.ru/shop/page1 sitename.ru/shop sitename.ru/shop/page5/?bla-bla , коточе в URLкоторых есть /shop/.

Вот такой скрипт я написать могу, а проверить на включение строки в название тямы не хватает =) К (window.location.pathname !== '/avtomatizatsiya/') нужно добавить вышеописанное условие.

if (window.location.pathname !== '/avtomatizatsiya/'){
     $('.toolbar').attr('id', 
     function(index) {return 'number-mix-' + (index + 1);});
     var scrollTopMix = $('#number-mix-1').offset().top; // скроллим страницу на значение равное позиции элемента
     $('body,html').animate({scrollTop: scrollTopMix}, 3400);
     }
  • Вопрос задан
  • 1433 просмотра
Решения вопроса 1
Finesse
@Finesse
Вот так, если надо, чтобы путь содержал /shop/:
if (window.location.pathname.indexOf('/shop/') >= 0)) {
  alert('Работает');
}

Вот так, если надо, чтобы страница была в директории shop, которая располагается в корне сайта (как в примерах в вопросе):
if (window.location.pathname.match(/^\/shop(\/|$)/)) {
  alert('Работает');
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
А не проще сделать это на серверной стороне? Быстрее страница загружаться будет
Ответ написан
iiiBird
@iiiBird
Пока ты спишь - твой конкурент совершенствуется
а не легче проверять класс? добавь к примеру для боди на всех страницах типа "/shop/", класс ".shop" а потом проверяй:
if ( $('.shop').length > 0 ) {
    ...
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы