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

贡献者指南