Получите img.naturalWidth, как только он станет доступен (после начала загрузки, но до onload).Html

Программисты Html
Ответить
Anonymous
 Получите img.naturalWidth, как только он станет доступен (после начала загрузки, но до onload).

Сообщение Anonymous »

Есть ли в JavaScript способ получить естественную ширину как только он станет доступен, после начала загрузки, но до того, как произойдет событие загрузки?
Например, медленно загружающийся JPG загружается примерно следующим образом:
  • Render HTML-элемент
    Изображение
    . img.naturalWidth равен 0.
  • Получите первые несколько байтов, возможно, еще ничего не отображается, поэтому img.naturalWidth по-прежнему равен 0.
  • Получите достаточно байтов, чтобы размеры были известны; измените отображаемую ограничивающую рамку. img.naturalWidth теперь является правильным значением.
  • Постепенно отображать данные изображения сверху вниз и от низкого к высокому качеству, пока не загрузится все изображение.
  • Наконец, запустите событие загрузки.
По сути, я хочу «прослушать» шаг №3. ResizeObserver — это почти то, что мне нужно, но он не сработает, если размер изображения будет точно 300x150 пикселей, поскольку это размер отображаемого по умолчанию элемента img, который еще не начал загружаться. Мне нужно что-то, что будет работать вне зависимости от размера изображения: 300 x 149 пикселей или 300 x 150 пикселей.

Подробнее здесь: https://stackoverflow.com/questions/797 ... -but-befor
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Html»