Использование отдельного файла JavaScript для каждой HTML-страницы? - PullRequest
3 голосов
/ 15 сентября 2011

Обычно javascripts на главной странице тяжелее, чем на других страницах. Например, мы помещаем jQuery слайд-шоу на главной странице, которая не используется на других страницах. Нужно ли создавать разные s для основной и отдельных страниц, чтобы включать только файлы javacript в действии?

Или все файлы javascript, прочитанные на первой странице, будут кэшированы для просмотра веб-сайта, а при загрузке отдельной страницы браузер не будет читать javascript слайд-шоу?

Другая форма этого вопроса: если я размещу слайд-шоу на каждой отдельной странице, будет ли браузер загружать файл javascript слайд-шоу каждый раз, или он будет читать из своего кэша (сохраненного на компьютере посетителя)?

Ответы [ 4 ]

1 голос
/ 15 сентября 2011

подобно florian h говорит, что большинство браузеров будут кэшировать контент (если не используются инструменты разработки).

если вы используете javascript для слайд-шоу только на одной странице, я бы порекомендовал поместить его в отдельный файл. В этом есть обратная сторона: чаще всего http-запросы занимают больше всего времени при загрузке файла.

Таким образом, если у вас, например, один файл javascript размером 1 МБ, и вам нужен весь javascript на большинстве страниц, лучше использовать 4 файла по 250 КБ каждый. Потому что вашему браузеру нужно выполнить 4 отдельных запроса.

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

0 голосов
/ 15 сентября 2011

Да, файлы js будут кэшироваться (если не указано иное).

Но файлы js должны быть обработаны и могут содержать логику инициализации, которая вам не нужна.Кроме того, каждый тег сценария, который загружает внешний js-файл, будет блокировать любые другие «http-потоки», то есть изображения, файлы css ... будет прекращать загрузку до тех пор, пока не будет загружен js-файл, в противном случае у вас будет несколько параллельных (одновременно) загрузочных ресурсов.*

У меня были бы разные сценарии для разных страниц.

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

0 голосов
/ 15 сентября 2011

Все файлы кэшируются в браузере на основе пути к файлу.

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

Если вы этого не хотите;)

0 голосов
/ 15 сентября 2011

Практически все браузеры будут кэшировать файлы javascript, поэтому не следует создавать разные версии для подстраниц.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...