2009-02-25 2 views

ответ

10

Единственный недостаток, о котором я знаю, - это дополнительный HTTP-запрос. Этот недостаток уходит, как только Javascript используется двумя страницами или страница перезагружается одним и тем же пользователем.

2

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

Мы используем YUI compressor, чтобы автоматически минимизировать и комбинировать внешние скрипты в одном, когда выполняются сборки производства/стадии.

5

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

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

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

1

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

Преимущество, однако, в том, что вы можете сохранить весь свой JS-код в отдельном более удобном для пользователя формате.

1

Еще одно огромное преимущество для внешнего javascript - возможность проверить ваш синтаксис с помощью Jslint. Это, добавлено к способности минимизировать, объединять и кэшировать внешние скрипты, делает внутренний javascript кажущимся плохим выбором.

3

Кэширование - это как профи, так и потенциально сбой, если вы неправильно его обрабатываете.

pro очевидно, так как это улучшит загрузку страницы при загрузке каждой страницы.

является то, что при выпуске нового кода он может быть кэширован браузером пользователя, поэтому они могут не получить обновление. Это можно легко решить, изменив имя в файле js. Мы автоматически обновляем наши js с меткой времени файла, а затем проверяем, что указывает на создание файла в веб-запросе через конфигурацию на нашем веб-сервере (mod_rewrite, Apache).

Смежные вопросы