Почему размер моих страниц такой большой по сравнению с Википедией? - PullRequest
2 голосов
/ 13 апреля 2009

Когда я сохраняю страницу с моего сайта о Матери Терезе - http://www.peopleforever.org/nfhomepage.aspx?nfid=41 она занимает 1,73 МБ, что ОГРОМНО!

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

При сохранении я вижу следующие файлы:

ScriptResource_002.js - 254 КБ mediaplayer-min-2.js - 204 кб main.js - 194 кб Prototype.js - 124 кб ScriptResource.js - 96 КБ

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

Ответы [ 6 ]

9 голосов
/ 13 апреля 2009

Эти файлы .js являются файлами Javascript, похоже, вы используете какой-то редактор WYSIWYG .

Javascript - это код, который иногда внедряется в файлы HTML, а иногда в их собственные файлы .js, который выполняется на стороне клиента.

Посмотрите на YSlow , он скажет вам, почему ваша страница работает медленно.

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

2 голосов
/ 13 апреля 2009

Получите Firefox и аддоны Firebug + Yslow - затем прочитайте связанные страницы из отчета Yslow.

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

1 голос
/ 13 апреля 2009

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

Если вы хотите расширить свою страницу до предела, вы можете рассмотреть следующие шаги:

  • объедините все файлы js и css, к которым у вас есть доступ, в один большой файл
  • уменьшить JS и CSS
  • gzip все. Это можно сделать в IIS. В Интернете есть множество статей для этого
  • Поскольку это ASP, я полагаю, что существует много данных ViewState, отправляемых пользователю вперед и назад. Просмотрите это. Может быть, некоторые данные там вообще не нужны?
1 голос
/ 13 апреля 2009

Если ваши javascripts не упакованы, используйте что-то вроде этого:

http://dean.edwards.name/packer/

чтобы сделать их короче и компактнее. Это сэкономит много. Также убедитесь, что ваш веб-сервер использует что-то вроде gzip , это также очень поможет для текстовых данных.

1 голос
/ 13 апреля 2009

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

Но часть кода JavaScript выполняется при загрузке страницы, и это сильно замедляет работу. Попробуйте отключить Java / JavaScript для вашего браузера, тогда страница загрузится практически мгновенно. Похоже, что основным замедлением является апплет Google Maps, который также загружает некоторые изображения после его инициализации.

Также посмотрите на саму страницу, которая также имеет размер 219 КБ здесь и до 300 КБ для других страниц. Есть большая закодированная (Base64?) Часть «__VIEWSTATE», размером около 20 КБ, похоже, это что-то вроде безопасности ASP или что-то вроде этого.

1 голос
/ 13 апреля 2009

Вы можете сжать ваши компоненты внутри веб-страницы для более быстрого выполнения. Для этого вы можете использовать сжатие IIS.

Также вы можете минимизировать ваши файлы JavaScript. Для этого есть много бесплатных инструментов.

Взгляните на эту ссылку

http://developer.yahoo.com/performance/rules.html

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