Где я должен поместить свой JavaScript - страницу или внешний файл?
В VS 2008 у меня есть страница содержимого ASP.NET с одной главной страницей. Я хотел бы добавить функции JavaScript для проверки на стороне клиента и т. Д. Для этой страницы. Мои вопросы:
- Должен ли я написать эти сценарии в отдельном
.js
файл или встроен в.aspx
файл. - Влияет ли этот выбор на производительность сайта?
- Есть ли правила написания файла JavaScript?
3 ответа
Это зависит от вашего использования. Если это специфическая для страницы функциональность, попробуйте реализовать ее на самой странице. Если он используется многими страницами, поместите его в файл js.
Влияет ли это на производительность сайта?
Да, оно может. Если у вас есть js-файл с тысячами строк кода и на странице вы должны вызывать только одну функцию внутри js-файла. Если вы указываете файл для этого файла, то при загрузке всего файла должна быть потеря пропускной способности. Для этого случая вы можете написать функцию внутри самой страницы.
С другой стороны, браузер может кэшировать JS-файл. Таким образом, для последующих запросов, если файл присутствует в кэше, он не будет загружен снова. Но в случае написания JavaScript на самой странице, каждый раз, когда страница загружается, все ее содержимое будет загружено.
Я бы сказал, что вы должны создать функции javascripts в отдельном файле.js и связать их внутри главной страницы или.ASPX, где это необходимо.
Представьте, что вы "копируете и вставляете" функции javascripts в каждый из файлов.ASPX, а затем, когда этот файл.ASPX загружается, для рендеринга этой страницы потребуется больше времени, так как для него также требуется рендеринг функций javascript. Если вы сохраните его в отдельном файле.js, браузер загрузит его только один раз, если он новее или не существовал ранее.
Вы также можете кэшировать эти файлы.js, чтобы браузеры не загружали его каждый раз.
Другое преимущество заключается в том, что когда вам нужно внести некоторые изменения в файлы.js, вам просто нужно его централизованно изменить в одном файле, а не выполнять "поиск и замену" через множество.ASPX.
Вы должны учитывать возможности кэширования, если функции JavaScript могут использоваться на нескольких страницах, которые посетит пользователь. В этом случае вы должны поместить их (если возможно) в один внешний файл.js. При этом файл будет загружен только один раз с сервера и затем останется в кэше браузера. Ваши HTML-страницы становятся меньше (значительно для больших JS-библиотек).
Если функции (как правило, правила проверки) применяются только к одной отдельной странице, внешний файл JavaScript приведет к дополнительному HTTP-запросу, что приведет к кратковременной блокировке работы пользователя с вашей страницей. Здесь лучше встраивать JS в файл HTML.
Посмотрите советы от Yahoo! Для получения более подробных советов.
Ура,