mdn/content

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

オープン

#38,034 opened on 2025/02/08

 (2 件のコメント) (0 件のリアクション) (0 人の担当者)Markdown (23,229 件のフォーク)batch import
Content:WebAPIarea: DOM/CSSOMhelp wanted

Repository metrics

Stars
 (10,950 個のスター)
PR merge metrics
 (PR metrics pending)

説明

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

コントリビューターガイド