Включение JavaScript напрямую через PHP вместо загрузки его с последней страницы через тег скрипта - PullRequest
1 голос
/ 23 июня 2010

Мне нужны ваши мнения и знания по теме.

Я занимаюсь разработкой сайта, который использует большое количество JavaScript.В теге script в конце тега body я вызываю файл PHP, который собирает все мои JS-файлы и объединяет / сжимает их в один (более короткий) файл, поэтому я могу уменьшить количество HTTP-вызовов на сервер.

Это все нормально и несколько стандартно.Теперь вот мой вопрос: не будет ли быстрее и проще исключить тег сценария с атрибутом src и просто вывести весь JavaScript непосредственно в тег сценария?Разве это не сохранит вызов из полученного PHP-файла в браузере пользователя обратно на сервер, чтобы снова собрать эти JS-файлы?

Чтобы немного разобраться: вместо того, чтобы сначала пользователю загрузить HTMLфайл, который затем обращается к серверу, чтобы получить файл JS (вывод из файла PHP), он / она просто загружает один HTML-файл, который затем «жестко закодирован» JS в тег сценария и тем самым обрезает второй вызов сервера.

Это разумная идея?Это плохая идея, чтобы включить JavaScript прямо на странице?Все это создается динамически ... Обычно рекомендуется включать файлы JS, но кажется, что это только загрузит сервер еще больше ... Я на что-то или я должен просто позволить этому быть?

Глядяжду, что вы скажете,

С уважением, Миккель, Дания

Ответы [ 3 ]

2 голосов
/ 23 июня 2010

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

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

1 голос
/ 23 июня 2010

Если вы генерируете пакеты динамического javascript, просто вставьте его в тег сценария - хорошая идея.

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

1 голос
/ 23 июня 2010

Просто добавьте условный GET в ваш скрипт сбора js, и все будет в порядке.

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