🧱 Π‘ΡƒΡ‚ΡŒ

Атрибут decoding Ρƒ Ρ‚Π΅Π³Π° <img> управляСт Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ.

Π”Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ – это процСсс прСобразования Π΄Π°Π½Π½Ρ‹Ρ… изобраТСния ΠΈΠ· Ρ„Π°ΠΉΠ»Π° (jpg, png, webp) Π² Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ для Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° экран.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

<img src="image.jpg" decoding="async" alt="Image">

πŸ“¦ ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ°

1. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ΅ изобраТСния ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ отрисовку

ΠŸΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠΊΠ°Π·ΠΎΠΌ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρƒ Π½ΡƒΠΆΠ½ΠΎ:

  • Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»
  • Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅
  • ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΊ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ
    Если Π΄Π΅Π»Π°Ρ‚ΡŒ это синхронно – это ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ основной ΠΏΠΎΡ‚ΠΎΠΊ.

2. НС всСгда понятно, ΠΊΠ°ΠΊ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ изобраТСния

Π‘Π΅Π· явного указания Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ сам Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ ΡΡ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΡŽ:

<img src="image.jpg">

Иногда это Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, Π½ΠΎ для большого количСства ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ.

βœ… РСшСниС

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚:

decoding="async"

Он позволяСт Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρƒ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ основного процСсса Ρ€Π΅Π½Π΄Π΅Ρ€Π°.

πŸ’» Код

АсинхронноС Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅:

<img 
  src="image.jpg" 
  decoding="async" 
  alt="Description"
/>

ЗначСния decoding

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅
syncΠ΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сразу, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ отрисовку
asyncΠ΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ, Π½Π΅ блокируя Ρ€Π΅Π½Π΄Π΅Ρ€
autoΠ±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ сам (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ)

Когда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ

ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для:

  • ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡Π΅ΠΊ Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ²
  • Π³Π°Π»Π΅Ρ€Π΅ΠΉ
  • списков ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ
  • второстСпСнных ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ

НС всСгда ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для:

  • Π»ΠΎΠ³ΠΎΡ‚ΠΈΠΏΠ° Π² шапкС
  • Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ изобраТСния ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ экрана
  • элСмСнтов, Π²Π°ΠΆΠ½Ρ‹Ρ… для ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ впСчатлСния

🎯 Π’Ρ‹Π²ΠΎΠ΄

  • decoding управляСт способом ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ изобраТСния ΠΊ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ
  • async ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π½Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ основной ΠΏΠΎΡ‚ΠΎΠΊ
  • для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° второстСпСнных ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ decoding="async"
  • ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹Π΅ изобраТСния Π»ΡƒΡ‡ΡˆΠ΅ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° (auto) ΠΈΠ»ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ синхронно

πŸ”— Бвязано