Как выполнять jQuery-код только на определенной странице?

358
24 ноября 2016, 10:04

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

Answer 1

Хм, можно проверять адрес и прекращать выполнение, если подстрока в адресе не найдена (если что, обернув код в (function(){ … })(), чтобы можно было воспользоваться return):

if (location.pathname.indexOf('…') === -1) return;

Но лучше, конечно, просто проверять, есть ли нужные элементы на текущей странице. Например, так:

if ($('.element').length === 0) return;
Answer 2

Попробуйте сверять location.pathname или location.href:

 //значения location.pathname, при которых будет запускаться ваш скрипт 
var pagesWithScript = ["/page1", "/page2"]; 
 
if (pagesWithScript.indexOf(location.pathname) != -1 ) { 
  //ваш скрипт 
}

location.pathname — относительный путь до страницы. К примеру, для https://example.com/page location.pathname = "/page"

READ ALSO
TreeGrid. Как сделать на несколько строчек?

TreeGrid. Как сделать на несколько строчек?

Установил компонент https://github. com/maxazan/jquery-treegrid.

418
Отправить изображение post jquery

Отправить изображение post jquery

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

449
Не могу аполнить div фотографиями

Не могу аполнить div фотографиями

Нужно расположить фотографии красивой masonry кладкой внутри колонки а затем сделать так, чтобы фотографии заполняли всю ширину этой самой...

292
Отправить только выбранные чекбоксы

Отправить только выбранные чекбоксы

Если чек боксы не заданы/выбраны, передает undefined, isset\empty не разпознают как пустую переменную. Необходимо не передавать не заданную группу...

391