Hotlst.biz улучшает загрузку скриптов: уход от $.getScript
Команда Hotlst.biz оптимизировала работу JavaScript на платформе, заменив $.getScript на динамическое создание элементов <script> через чистый JavaScript.
Ранее скрипт подгружался так:
Code: JavaScript
$(function(){
if ($(".hotengine-shop-products-add-count-spinner").length){
if(typeof $hotengine_shop_product_count_spinner == "undefined"){
$.getScript("/templates/scripts/hotengine-script-shop-product-count-spinner.js?v33").fail(function(jqxhr, settings, exception) { console.error("Failed to load script: ", exception);
});
}
}
});
Теперь используется другой подход:
Code: JavaScript
$(function(){
if ($(".hotengine-shop-products-add-count-spinner").length){
if (typeof $hotengine_shop_product_count_spinner == "undefined"){
const s = document.createElement("script");
s.async = true;
s.src = "/templates/scripts/hotengine-script-shop-product-count-spinner.js?v34";
s.onerror = (e) => { console.error(`Failed to load script: ${s.src}`, e); };
document.head.appendChild(s);
}
}
});
Почему это рекомендуется:
- Не требуется jQuery, меньше зависимостей.
- Контроль за повторной загрузкой: скрипт вставляется один раз.
- Асинхронная загрузка улучшает производительность без блокировки страницы.
- Простой и предсказуемый обработчик ошибок через
onerror. - Код более современный и совместимым с чистым JavaScript.