Розширення Magento 2 Rocket JavaScript дозволяє увімкнути завантаження deferred JavaScript  і автоматично перемістити JS код в нижню частину сторінки. Таким чином ви збільшуєте швидкість завантаження веб-сайту та усуваєте блокування візуалізації.

Однак іноді вам не потрібно переміщувати всі JavaScripts вниз, оскільки є деякі, які не рекомендується туди переносити.

У цій статті ви дізнаєтесь, як це зробити.

Як автоматично відкласти завантаження деяких JS?

Підіть у Stores > Configuration > Magefan Extensions > Rocket Javascript і знайдіть розділ Ignore Deferred JavaScript With. Потім вкажіть рядки (strings), які не потрібно переміщувати вниз, кожен у новому рядку.

Розширення автоматично додасть до них атрибут data-rocketjavascript="false", тому вони ігноруватимуться.

Ignore javascript defering in magento

Як вручну відкласти завантаження деяких JS?

Якщо ви не хочете переміщувати частину JavaScript униз, вам просто потрібно додати атрибут data-rocketjavascript="false" до тегу <script> безпосередньо у вашому коді:

Приклад:

Скажімо, у вас є такий JavaScript тег:

<script>
    alert('I do not wont to move this javascript to the footer');
</script>

Отже, як результат він буде таким: 

<script data-rocketjavascript="false" >
    alert('I do not wont to move this javascript to the footer');
</script>

Щойно ви додасте ці атрибути до своїх скриптів, вони не будуть переміщені в нижню частину сторінки. Але це не єдина оптимізація, яку потрібно зробити, щоб покращити швидкість сторінки. Перегляньте нашу статтю про оптимізацію JS bundling.