Фокус у запуску асинхронного завантаження таблиці стилів полягає у використанні <link>
елемента та встановленні недійсного значення для атрибута медіа (я використовую media = "none", але будь-яке значення підійде). Коли медіа-запит оцінюється як помилковий, браузер все одно завантажує таблицю стилів, але не буде чекати, поки вміст стане доступним, перш ніж відображати сторінку.
<link rel="stylesheet" href="css.css" media="none">
Після завершення завантаження таблиці стилів атрибуту мультимедіа потрібно встановити дійсне значення, щоб правила стилю застосовувались до документа. Подія onload використовується для перемикання властивості мультимедіа на всі:
<link rel="stylesheet" href="css.css" media="none" onload="if(media!='all')media='all'">
Цей спосіб завантаження CSS доставить корисний вміст відвідувачам набагато швидше, ніж стандартний підхід. Критичний CSS все ще може подаватися із звичайним підходом до блокування (або ви можете вбудувати його для остаточної продуктивності), а некритичні стилі можна поступово завантажувати та застосовувати пізніше в процесі аналізу / рендерингу.
Ця техніка використовує JavaScript, але ви можете задовольнити не браузери, що не JavaScript, обернувши еквівалентні блокуючі <link>
елементи в <noscript>
елемент:
<link rel="stylesheet" href="css.css" media="none" onload="if(media!='all')media='all'"><noscript><link rel="stylesheet" href="css.css"></noscript>
Ви можете побачити операцію на www.itcha.edu.sv
Джерело в http://keithclark.co.uk/