Чтобы расширить немного ошибочный заголовок, у меня есть веб-сайт, на котором используется умеренное количество jQuery для улучшения удобства использования, например, рендеринг графиков и выполнение запросов AJAX. На данный момент все сгруппировано в довольно ужасный файл main.js
который включен на каждую страницу.
Я бы хотел улучшить это, рефакторинг кода. Например, я хочу, чтобы определенный запрос AJAX и график отображались, если пользователь имеет определенный URL. Аналогично, я хочу, чтобы определенные события срабатывали только тогда, когда пользователь находится на других URL-адресах.
То, что я изо всех сил пытаюсь разгадать, - это определить, когда пользователь находится на определенном URL-адресе. Я мог бы использовать window.location
хотя это кажется взломанным и изменится на основе строк запроса и http://
или https://
. Я видел, что другие сайты в прошлом имеют огромный объект для своего сайта и используют его, как показано ниже:
var site = new Site.getInstance();
site.init();
site.doWhatever();
В основном мой вопрос сводится к тому, как правильно и аккуратно структурировать Javascript файл, полный jQuery для всего моего сайта, все еще удерживая его в main.js
а не разделяя его на несколько файлов?
nnnnnn имеет хорошую идею в своем комментарии, здесь другое:
window.location
- не просто строка, хотя, похоже, она ведет себя как одна. Он имеет это опрятное свойство, называемое pathname
, которое дает вам необходимую информацию.
Если URL-адрес http(s)://yourdomain.com/pages/default.php
то http(s)://yourdomain.com/pages/default.php
window.location.pathname
содержит pages/default.php
, независимо от строк запроса и протоколов.