Загрузка сайта - PullRequest
       8

Загрузка сайта

1 голос
/ 19 ноября 2008

У меня есть веб-приложение, которое сильно загружено в javascript и css. При первом входе пользователей в систему требуется некоторое время для загрузки после загрузки js и т. Д. Затем кэширование сделает все быстрее.

Я хочу, чтобы мои пользователи знали об этом времени загрузки. Как добавить код для «отображения» информации о загрузке во время загрузки js и css?

Ответы [ 4 ]

3 голосов
/ 19 ноября 2008

Вы можете показать наложение с надписью «загрузка ...» и скрыть это в тот момент, когда загрузка завершена.

<html>
    <head>
        ... a bunch of CSS and JS files ...

        <script type="text/javascript" src="clear-load.js"></script>
    </head>
    <body>
        <div 
            style="position: absolute; left: 50px; right: 50px; top: 50px; bottom: 50px; border: 3px solid black;"
            id="loading-div"
        >
            This page is loading! Be patient!
        </div>

        ... Your body content ...
    </body>
</html>

Содержимое clear-load.js:

document.getElementById('loading-div').style.display = 'none';

Конечно, вы также можете прикрепить код javascript, который скрывает div внизу последнего загруженного файла javascript.

Также попробуйте упаковать файлы javascript и css в один файл и применить к ним сжатие gzip или «minify». Вы можете принести 500 КБ JavaScript в 20 запросах на 1 запрос размером менее 100 КБ, если вы все сделаете правильно.

0 голосов
/ 20 ноября 2008

Пожалуйста, сделайте себе одолжение и попробуйте YSlow, доступный по адресу http://developer.yahoo.com/yslow. Это плагин Firebug (да, плагин для плагина), который проанализирует ваш сайт и порекомендует стратегии для его исправления.

0 голосов
/ 19 ноября 2008

Мне кажется странным, что время загрузки зависит от размера javascript и css. Вы уверены, что нет других факторов, вызывающих длительное время загрузки?

0 голосов
/ 19 ноября 2008

Сладкая мать милосердия, Рикардо, насколько Javascript и CSS задействованы в этом приложении?

Вы могли бы, я думаю, сделать что-то, где вы загружаете JS и CSS с помощью AJAX-запроса и ничего не делаете с ними. Это загрузит ваши файлы JS и CSS в кеш. Вы можете сделать все это на странице «Загрузка» и перенаправить на реальную страницу после загрузки файлов. Но, по-моему, вам действительно не нужно этого делать. Используйте Fiddler , чтобы действительно увидеть, что происходит за кулисами - убедитесь, что людям действительно приходится ждать, пока их файлы JS / CSS не завершатся, прежде чем выполнять эту оптимизацию.

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