JavaScriptで画像のリンク切れをチェックする方法
2009年06月04日-
スポンサード リンク
JavaScript で、画像本来のサイズ(幅, 高さ)を取得する方法 - latest log
JavaScriptで画像のサイズ(幅,高さ)をとる方法があって詳しく紹介されていて分かりやすいです。
ここで、画像のリンク切れをチェックする方法が書かれていなかったので書いてみます。
var img = new Image();
var url = '//phpspot.org/blog/img/notfound.jpg'; // あえて存在しない画像を指定
img.onload = function() {
alert('width='+img.width+' , height='+img.height);
};
img.onerror = function() {
alert(url+' is dead');
};
img.src = url;
赤文字の部分を記述しておけば、エラー時に alert されるというもの。
リンク切れかどうか、というより正確には画像読み込み時にエラーが発生した場合のイベントハンドラ onerror に処理を入れてるものです。
ブラウザで画像を先読みさせて、正常の場合は幅と高さを計算して適切に表示、エラーの場合は処理を変えるといった感じに応用することが出来ます。
Ajaxアプリケーションなどで、存在するかどうか分からない画像を JavaScript にてチェックできる上に、サーバ側でなくブラウザ側でチェックしてしまうことでサーバ負荷の軽減が出来る筈。
外部サイトの画像を読み込む場合、相手側のサーバへの負担を軽減するために、一旦取得した、幅、高さ、存在するかどうか については、自分側でキャッシュした方がベターですかね。
IE、Firefox、Safari、Chrome、Operaにて動作確認しています。
関連エントリ
スポンサード リンク
Advertisements
SITE PROFILE
最新のブログ記事(新着順)
- 小説表紙などに使えそうな商用可なフォント「になロマン」
- 筆で書いたようなカナ書体「筆竹仮名B」
- 無料・商用利用可な丸文字ピクセルフォント「マルミーニャM」
- スペースコブラ風フォント
- Next.jsのVercelから商用利用可能なフリー汎用フォント「Geist Font 」
- 無料で使えるいい感じの日本語フォント「しっぽり太ゴシック」
- CSSのみで実装された500種類のローディングアニメーション「CSS Loaders」
- 画像ホバーで様々なエフェクトをかけられる「Izmir」
- CSSのbox-shadowをGUIで生成できる「CSS Box Shadows Generator」
- 好きな画像や文字を埋め込んだQRコードをリアルタイムで作れるWEBツール
- 過去のエントリ