Где я должен поместить свой JavaScript - страницу или внешний файл? - PullRequest
2 голосов
/ 09 июля 2009

В VS 2008 у меня есть страница содержимого ASP.NET с одной главной страницей. Я хотел бы добавить функции JavaScript для проверки на стороне клиента и т. Д. Для этой страницы. Мои вопросы:

  1. Должен ли я написать эти сценарии в отдельном файле .js или встроить в файл .aspx.
  2. Влияет ли этот выбор на производительность сайта?
  3. Существуют ли правила написания файла JavaScript?

Ответы [ 3 ]

2 голосов
/ 09 июля 2009

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

Если функции (как правило, правила проверки) применяются только к одной странице, внешний файл JavaScript приведет к дополнительному HTTP-запросу, что приведет к кратковременной блокировке работы пользователя с вашей страницей. Здесь лучше встраивать JS в файл HTML.

См. советы Yahoo! по этому вопросу для более подробных подсказок.

Приветствия

2 голосов
/ 09 июля 2009

Я бы сказал, вы должны создать функции javascripts в отдельном файле .js и связать их внутри главной страницы или .ASPX, где это необходимо.

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

Вы также можете кэшировать эти файлы .js, чтобы браузеры не перезагружали его каждый раз.

Другое преимущество заключается в том, что когда вам нужно внести некоторые изменения в файлы .js, вам просто нужно централизованно изменить его в одном файле, а не выполнять «поиск и замену» через множество .ASPX

0 голосов
/ 09 июля 2009

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

Влияет ли это на производительность сайт?

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

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

...