#javascript
#javascript
Вопрос:
У меня есть один файл, ‘core.js ‘, с коллекцией JavaScript моих сайтов. Мне нравится комбинировать мой скрипт таким образом, чтобы я мог сократить HTTP-запросы. Моя проблема в том, что код конкретной страницы, очевидно, запускается на страницах, в которых это не требуется.
Без разделения ‘core.js ‘ в отдельные скрипты, каково наилучшее решение для обеспечения того, чтобы код, специфичный для моей страницы, запускался только на той странице, на которой он должен быть запущен?
Большое спасибо!
Комментарии:
1. Если ваш core.js содержит ряд функций для instace, не могли бы вы просто вызвать функции, специфичные для страницы, при загрузке изнутри каждой страницы?
2. Ухх… почему вы не хотите разделять конкретные коды? Это простой и эффективный способ решения проблемы.
Ответ №1:
Самый простой способ — сделать все в core.js будьте функциями, а затем поместите один вызов встроенной функции на каждую заданную страницу, чтобы вызвать код, специфичный для этой страницы. Это делает core.js ресурс и каждая страница решают, какие функции в этом ресурсе вызывать.
Я также видел, как это делается, когда вы помещаете имя класса триггера в тег body, а затем код в core.js проверяет классы в теге body, чтобы решить, какой код инициализации запускать. Это работает лучше всего, когда у вас небольшое количество типов страниц и вы хотите запускать один и тот же код инициализации на всех страницах одного типа, но я не думаю, что это так уж хорошо, если на каждой странице разные JS. В таком случае, я думаю, лучше использовать первый метод, позволяющий странице решать, какую функцию инициализации JS вызывать.
Комментарии:
1. Спасибо, я буду использовать встроенные вызовы функций.