Как выполнять js лишь на определнных страницах?

Вот все склеивают весь js в единый миницицированный файл.
А как выполнять его куски лишь на определенных страницах?
Ведь на каждой странице вызываются свои функции, инициализируются свои виджеты, свои события.
Вроде и ничего страшного - ведь если нет элементаов, то и ничего не инициализируется, но... Что же это? При каждом переходе по сссылке весь код будет выполняться заново (берем, что у нас не spa)?
  • Вопрос задан
  • 3014 просмотров
Пригласить эксперта
Ответы на вопрос 4
IonDen
@IonDen
JavaScript developer. IonDen.com
И в этом вопросе вам поможет например:
requirejs.org
browserify.org
Ответ написан
viktorvsk
@viktorvsk
Что значит, инициализируется?
$('[data-toggle="modal"]').modal();
Не инициализирует ничего, если селектора:
[data-toggle="modal"] нет
То есть, происходит только поиск селектора.

Или вы о каких-то других инициализацях?
Ответ написан
matroskin13
@matroskin13
JavaScript developer, GO developer
Странный конечно вопрос, но попробую дать ответ.
Пример c backend на php. В шаблоне делаете тег script, в неё прокидываете из контроллера, или что у вас там название страницы.
<script>
var currentPage = <?=$this->pageName?>; // Например $this->pageName == "first"
</script>

В js делаете к примеру так:
var pages = {};
pages.first = function() {
    // тут код который должен вызываться на первой странице.
}
pages.second = function() {
    // тут код который должен вызываться на второй странице.
}
// потом вызываете код нужной страницы.
pages[currentPage]();
Ответ написан
Комментировать
lisogorsky
@lisogorsky
веб-программист
Вот неплохая статья на эту тему, с примерами:
https://blog.lisogorsky.ru/js-css-individual-inclusion
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы