пятница

Что браузеры делают с JavaScript?

Что браузеры делают с JavaScript? Наверное, одним из наиболее шокирующих фактов для любого искушеннего специалиста является то, что JavaScript выполняется в один поток (далее все же делается небольшое отступление про timeout'ы, ведь они позволяют запускать несколько процессов если не параллельно, то хотя бы «псевдо-параллельно»). Это означает, что работа JavaScript-интерпретатора в браузере идет строго последовательно, никак не параллельно (за исключением вызовов AJAX). В тот момент, когда кусочек JavaScript загружается или исполняется, все остальное ждет в очереди. Обработка браузерами JavaScript Это означает, что отдельный JavaScript-скрипт способен несколько замедлить загрузку целого блога. И это повседневная реальность всей блогосферы (миллиарды часов машинного времени, истраченного на исполнение JavaScript; миллионы расстроенных блогеров; сотни тысяч долларов упущенной прибыли). И где же выход? Итак, как сделать JavaScript-виджеты лучше и быстрее? К сожалению, никакого универсального решения для этой проблемы нет: нет такого уникального приема, который бы мог разом решить ее. Однако, есть ряд действий, которые способны если не решить проблему окончательно, то заметно снизить ее остроту, и позволить частично избавиться от «нелинейных» эффектов. Ниже приводится их список, с которым рекомендуется ознакомиться всем производителям виджетов: 1. Делайте загрузку JavaScript «отложенной» Одной из наиболее частых проблем из рассматриваемого комлекса является прямое исполнение JavaScript по ходу загрузки страницы, хотя этого можно и избежать. Если код скрипта не изменяет содержимое страницы (DOM) при загрузке, то выполнение этого кода может быть отложено до полной загрузки страницы. Таки образом, сначала появится содержание страницы, а потом уже будут выполняться все отложенные скрипты. К несчастью, это поддерживается не всеми браузерами. Подробнее про атрибут defer у тега

Заработай на своем сайте