mdn/content

Clarify image.decode() failure on lazy-loaded images

Open

#38,034 建立於 2025年2月8日

在 GitHub 查看
 (2 留言) (0 反應) (0 負責人)Markdown (22,427 fork)batch import
Content:WebAPIarea: DOM/CSSOMhelp wanted

倉庫指標

Star
 (8,900 star)
PR 合併指標
 (平均合併 7天 3小時) (30 天內合併 147 個 PR)

描述

MDN URL

https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/decode

What specific section or headline is this issue about?

Missing information

What information was incorrect, unhelpful, or incomplete?

As noted in https://stackoverflow.com/questions/65146920/domexception-invalid-image-request, the decode() function will throw EncodingError: Invalid image request. on images with loading="lazy" that have not yet loaded in Firefox; it will not do so in Chrome. This is either a browser bug, an indication that the page information ("This can be used to initiate loading of the image") is somewhat incomplete/misleading, or just of a case of undefined behavior which might deserve a note.

What did you expect to see?

Either just a note that this loading="lazy" case fails in Firefox on images that have not yet loaded, or an explanation of the difference between loading and decoding/when decoding might fail if this is actually a symptom of a larger degree of complexity.

edit: Per further testing, calling decode() in an onload handler works and functions correctly on a loading="lazy" image; it's only calling it too early that fails.

Do you have any supporting links, references, or citations?

The only semi-relevant Firefox bug I found is https://bugzilla.mozilla.org/show_bug.cgi?id=1758035, which links to the spec. It's still not entirely clear from the spec text to me whether the function is explicitly supposed to interact with/wait for loading, and if so exactly how.

Do you have anything more you want to share?

No response

MDN metadata

貢獻者指南