// Подключается в : помечает «JS работает», сразу запрашивает config.json и даёт общий сигнал готовности (function () { var root = document.documentElement; root.className += ' js'; window.siteReady = function () { root.classList.add('ready'); }; setTimeout(window.siteReady, 2000); // страховка: страница не останется скрытой window.siteConfig = fetch('/config.json') .then(function (r) { if (!r.ok) throw 0; return r.json(); }) .catch(function () { return null; }); })();