У меня есть две ссылки на страницы, на одной из которых надо показать картинку, а на другой наоборот не показывать.
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 ? 'показывать' : 'не показывать'}`);
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости