2011-01-24 3 views
0

У меня есть сценарий, который я использую на многих сайтах.JS занимает много времени, чтобы оценить

Он работает отлично, за исключением одного сайта, на котором страница скрипта встроена в загрузки очень медленно (я не думаю, что это медленный, мудрый, но сценарий).

Дело заключается в следующем: (я использовал график в Chrome)

<body> .... 
<script...>here I load script tag into the head</script> 
    .. </body> 

Сценарий ГОЛОВКА загружается через 5 сек. (так что этот фрагмент работает хорошо), но его оценка происходит только через 29 секунд!

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

+1

И мы должны просто догадаться, что такое скрипт? :) Отправьте сценарий или соответствующие его части, и, возможно, кто-то заметит что-то необычное. Кроме того, что в этом другом месте? Может ли это загрузить некоторую структуру JS? Может быть, он разбирает файлы .js' как серверные? –

ответ

1

Не блокируется, а задерживается. Да. Если он загружен скриптами и другими тяжелыми (для объектов типа E.A. flash-like), это может быть так. Главный тег загружается первым, поэтому, если его в теле затем обрабатывать последним. Прочтите этот код: Load and execution sequence of a web page?

1

Если ваш сценарий настроен на запуск «onload», и на загрузку страницы приходится 29 секунд, что приведет к задержке.

На самом деле считается оптимальным, чтобы сценарий включался в нижнюю часть вашего HTML-файла, и я думаю, это то, что вы сделали. Помещение скриптов в тег тела, а не в голову, должно привести к более быстрому поиску страницы.

Update

Вот некоторые ссылки на почему вы должны поместить скрипты в нижней части веб-страницы ...

Для выполнения:

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

Для SEO (только актуально, если у вас длинный раздел inli ne JavaScript):

Предполагается, что некоторые поисковые системы загружают только первые «килобайты» веб-страницы, поэтому вы не хотите, чтобы ваш JavaScript был включен в эту часть страницы, так как это предотвратит индексирование реального контента ,

Google Analytics

Теперь Google Analytics является интересным. Они хотят, чтобы вы поставили JavaScript в верхней части тела по следующей причине.

Если загрузка страницы на Facebook займет 4 секунды, установка JavaScript в верхней части тела означает, что почти все посещения будут занесены в Google. Если вы поместите JavaScript в Google Analytics в нижней части веб-страницы, посетители, которые приходят на страницу и уходят снова до полной загрузки страницы, не будут регистрироваться.

Пример ... Я прихожу на ваш сайт, ища информацию о «Автомобили», и как только страница появляется на моем экране, я вижу слово «Автомобили» и нажимаю на него. Если Google Analytics находится в верхней части страницы, вы увидите, что я пришел на домашнюю страницу и нажал на автомобили. Если вы положите его внизу, вы подумаете, что я попал прямо на страницу «Автомобили». Поэтому для точности вам нужно поместить JavaScript в Google Analytics сразу после открытия тега body.

+0

Почему тогда аналитика Google предлагает поставить верхнюю часть тела? – Himberjack

+0

Я добавил в ответ целый кусок ответа. – Fenton

Смежные вопросы