質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Chrome

Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

4052閲覧

img要素のdecoding属性とloading属性は併用できるのか

hibikikudo

総合スコア238

Chrome

Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2019/04/10 02:12

編集2019/10/01 09:08

Chrome75にてimg要素へのLazyLoad(loading属性)が実装されるとのことですが、img要素にはすでに decoding="async" 属性を設定し非同期復号により高速化する仕様があります

下記のようにloading属性とdecoding属性は併用する意味があるのか、また考えられるデメリットはあるでしょうか。

html

1<img src="hoge.jpg" 2 alt="サンプル画像" 3 decoding="async" 4 loading="lazy">

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

正確な挙動はわかりませんが、仕様を読む限り decording 属性はデコードのみ、つまりダウンロード後の解析のタイミングを指定するだけです。
viewport に出現するまでダウンロード自体をしない loading 属性とは違うのではないでしょうか。

命名について言及しています。
https://addyosmani.com/blog/lazy-loading/

投稿2019/04/10 02:45

x_x

総合スコア13749

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hibikikudo

2019/10/01 09:09 編集

ご回答ありがとうございます。 loadingプロセスの発火を遅延させるのが `loading="lazy"` で paintingプロセスでの描画タイミングを非同期化させるのが `decoding="async"` ということでしょうか。 ということは、この二つの属性は共存させることは可能っぽいですね。
x_x

2019/04/10 03:21

そう考えています。 decode のほうは一瞬で終わるはずなので確認が難しそうですが
hibikikudo

2019/04/10 03:27

TwitterでAddy Osmaniさんからご回答いただきました。 > <img loading=lazy decoding=async> lazily loads & (could) decode img async. Maybe useful for hi-res images on slow devices? I'd be careful - img will be missing til decoded. The browser may have fetched & decoded it by the time user scrolls image into view without d=a. Measure :) ---翻訳-- <img loading=lazy decoding=async> は、画像の遅延読み込みとデコードの非同期化ということです。遅いデバイス上の高解像度画像にはおそらく便利でしょう。注意点としては、 imgはデコードされるまで表示されないでしょう。ブラウザは、ユーザが画像を画面にスクロールする前にそれをデコード完了できたかもしれません:)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問