JavaScript
フロントエンド
Ma_gician
5
どのような問題がありますか?

この記事は最終更新日から1年以上が経過しています。

投稿日

更新日

【Ma_gician #03】代替画像はデザイナーさんにお任せ

【Ma_gician #03】代替画像はデザイナーさんにお任せ

by StewEucen
1 / 14

エラー時の代替画像

  • <img> に指定した src の画像がエラーになった場合、代替画像に差し替える実装がよくあります。
    <img src="xxxx.jpg">

ブラウザ標準のエラー表示

  • <img src="xxxx.jpg">xxxx.jpg という画像が存在しない場合、下のようにブラウザ標準のエラー表示になります。


デザインの統一性

  • ブラウザ標準のエラー表示は、
    サイトデザインの統一性を崩してしまう。

  • デザインの統一性を保持するため
    「No Image」を意味する画像に差し替える。


Pure JavaScript による対応

  • 以下の<script>で、画像ロードに失敗した時に「No Image」画像を差し替えてくれます。
<img id="xxx" src="xxxx.jpg">
<script>
  document
    .getElementById('xxx')
    .addEventListener('error',
      event => event.target.src = 'no-image.gif'
    )
</script>

画像ロードエラー時の処理

  • エラー時の代替画像を差し替える処理は全部同じ。

  • <img>の数だけ同じコードを書く。


必要なのは・・・?


代替画像 URL だけ !!


Ma_gician の実装

  • <img> に直接代替画像 URL を指定します。
<div><img src="xxx.jpg"></div>

<div><img src="xxx.jpg"
          x-fallback="no-image.gif" _></div>
  • Lightning Talk では、ここでライブコーディングします。

一括指定

  • 全画像に共通の「No Image」を指定したい場合は、bo_otstrap.jsファイル内で指定したファイルがディフォルトで代替画像として使われます。
<script src="assets/js/bo_otstrap"></script>

いいこといろいろ

  1. Ma_gician を使えば、代替画像の差し替え処理は「代替画像 URL」を指定するだけになる。

  2. デザイナーさんが HTML を作成する場合、代替画像を指定した状態で納品できる。

  3. 代替画像差し替えに関して、学習コストが理論上の最小になる。


Ma_gician を作った人

  • 名前: Stew Eucen (悉生 游漩)
    読み方: しちゅう ゆうせん
  • 国籍: 日本

SNS


募集

  • オープンソース活動を支援していただけるスポンサーを募集してます。

ご静聴ありがとうございました!!

ユーザー登録して、Qiitaをもっと便利に使ってみませんか。
  1. あなたにマッチした記事をお届けします
    ユーザーやタグをフォローすることで、あなたが興味を持つ技術分野の情報をまとめてキャッチアップできます
  2. 便利な情報をあとで効率的に読み返せます
    気に入った記事を「ストック」することで、あとからすぐに検索できます
ユーザー登録ログイン
StewEucen
「Stew Eucen」「悉生 游漩」は「しちゅう ゆうせん」と読みます。新しい JavaScript フロントエンドフレームワーク x-ninja の中の人です。

コメント

この記事にコメントはありません。
あなたもコメントしてみませんか :)
ユーザー登録
すでにアカウントを持っている方はログイン
5
どのような問題がありますか?
ユーザー登録して、Qiitaをもっと便利に使ってみませんか

この機能を利用するにはログインする必要があります。ログインするとさらに下記の機能が使えます。

  1. ユーザーやタグのフォロー機能であなたにマッチした記事をお届け
  2. ストック機能で便利な情報を後から効率的に読み返せる
ユーザー登録ログイン
ストックするカテゴリー