Отправить голову перед телом, чтобы загрузить CSS и JS как можно скорее - PullRequest
3 голосов
/ 13 февраля 2012

Интересно, нашел ли кто-нибудь способ отправки в середине рендеринга тега head, чтобы CSS и Javascript загружались до завершения рендеринга страницы?На рендеринг нашей страницы уходит около 523 мс, а ресурсы не загружаются до тех пор, пока страница не будет получена.Я сделал много PHP и возможно очистить буфер до конца скрипта.Я пытался добавить Response.flush() в конце мастер-страницы page_load, но после этого макет страницы ужасно нарушается.Я видел много людей, использующих панель обновлений для отправки контента с использованием AJAX впоследствии, но я не совсем понимаю, как это повлияет на SEO.

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

Ответы [ 4 ]

2 голосов
/ 13 февраля 2012

Не размещайте Flush в коде позади, но на вашей html-странице как:

</head>
<%Response.Flush();%>
<body >

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

Также на странице советов Yahoo по адресу Ранняя очистка буфера
http://developer.yahoo.com/performance/rules.html

Кэш статического

Дополнительно вы можетедобавьте клиентский кеш на статический контент, такой как css и javascript.На этой странице есть все способы для всех версий iis.

http://www.iis.net/ConfigReference/system.webServer/staticContent/clientCache

Продолжение

Еще одна мысль, которую я предлагаю вам сделать после того, как я увижу ваши страницы,поместить все CSS и JavaScript в один файл каждый.А также используйте minified для их минимизации.

Я использую этот минимизированный http://www.asp.net/ajaxlibrary/Download.ashx с очень хорошими результатами и минимизированным в реальном времени.

1 голос
/ 13 февраля 2012

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

Размещая некоторые файлы в CDN, вы получаете другой набор подключений для одновременного использования, что позволяет загружать все быстрее.

Также рассмотрите возможность включения GZIP на вашем сервере, если вы еще этого не сделали. Это сжимает файлы на лету, что приводит к меньшим объемам передачи.

0 голосов
/ 13 февраля 2012

Вы можете сделать переход или показать, как только документ был загружен.Просто установите отображение тела: нет;

0 голосов
/ 13 февраля 2012

Вы можете использовать jQuery для запуска вашего js, как только он будет загружен.

$.fn.ready(function(){
    //Your code here
})

Или вы можете просто взять автономную функцию готовности -> $ (документ). Уже эквивалентно без jQuery

...