У меня есть две ссылки на страницы, на одной из которых надо показать картинку, а на другой наоборот не показывать.
http://test_url/products - показать изображение.
http://test_url/product - не показывать.
Проверяю вот таким условием:
if (window.location.pathname.indexOf('/product') === -1) {
$('.img').show();
}
В этом условии если индекс строки '/product'
равен -1, то картинку я не показываю. Но как в этом условии показать изображение если урл содержит /products
?
if (window.location.pathname.indexOf('/product') === -1 ||
window.location.pathname.indexOf('/products') != -1) {
...
Обратите условие
if (window.location.pathname.indexOf('/products') !== -1) {
$('.img').show();
}
Еще можно регуляркой. Это значительно медленнее чем indexOf()
, но как еще один возможный вариант (и как предостережение не использовать его) - думаю, стоит упомянуть.
const arr = [ 'http://test_url/product', 'http://test_url/products', 'http://test_url/product?foo', 'http://test_url/product/?bar', 'http://test_url/products/?baz'];
for (let show, i = 0; i < arr.length; i++) {
show = (/\/products(?:$|[/?])/i).test(arr[i]); // или, что еще ужаснее, = !!arr[i].match(/\/product(s)?(?:$|[/?])/i)[1]
console.log(`${arr[i]} - ${show ? 'показывать' : 'не показывать'}`);
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Всем приветВозникла проблема с svg анимацией
Сделал для примера простенькое electronjs приложение
Как получить текст из поля input? В моём случае выдаёт пустую строку