Здравствуйте. Прохожу тест pagespeed, он мне выдаёт 99/100 и такое сообщение:
Настройте предварительную загрузку ключевых запросов - 0,18 s
Чтобы загружать требуемые ресурсы в порядке приоритета, вам следует использовать . Подробнее….
Ну я меняю свои 3 скрипта: jquery, gsap и "мой js", которые подключены вот так:
...
<script src="js/jquery-3.2.1.min.js"></script>
<script src="js/TweenMax.min.js"></script>
<script src="js/js.js"></script>
</body>
</html>
на вот так:
<head>
...
<link rel="preload" href="js/jquery-3.2.1.min.js" as="script">
<link rel="preload" href="js/TweenMax.min.js" as="script">
<link rel="preload" href="js/js.js" as="script">
...
</head>
и всё перестаёт работать... Будто скрипты вообще не загрузились
В консоли у меня появляется сообщение для каждого из скриптов:
The resource local.local/js/TweenMax.min.js was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate `as` value and it is preloaded intentionally.
Из хабра:preload
говорит браузеру как можно скорее загрузить и кэшировать ресурс (например, скрипт или таблицу стилей). Это полезно, когда ресурс понадобится через несколько секунд после загрузки страницы — и вы хотите ускорить процесс.
Браузер ничего не делает с ресурсом после загрузки. Скрипты не выполняются, таблицы стилей не применяются. Ресурс просто кэшируется и немедленно предоставляется по запросу.
В моём файле
js.js есть функции, которые отвечают за отображение сайта. По логике, jquery и gsap должны быть в preload, а скрипт должен быть отдельно, но если сделать так, то в консоли вообще будет ошибка:
js.js:16 Uncaught ReferenceError: TweenLite is not defined
потом вот эта фраза: "Скрипты не выполняются ... предоставляется по запросу". И как мне их запросить?
Что я делаю не так?