JavaScriptで画像を先読みして、なかったらリンクを消す
2007-06-10-4
[Programming]
ちょっと前に Asamasearch (http://find.x0.to/as/) の画像検索で、
JavaScriptによる画像の先読み処理(画像存在判定)をいれていた。
そのときのコードはこんな感じ。
0 × 0 のサイズでリンク先画像を表示してみて、
もしも画像じゃなかったら onerror が呼ばれるので、
そこでサムネイルのボーダーを 0 にし、
サムネイルを囲んでいる a タグの href を消す。
結局、重くなったり、Basic認証のポップアップが出ることがあったり、
なんだかんだでやめたけど。
ということで、おすすめしない。
「setAttribute('onerror',"this.src='...'")」とかは良いかと。
JavaScriptによる画像の先読み処理(画像存在判定)をいれていた。
そのときのコードはこんな感じ。
<div><a href="画像URL"><img src="サムネイル"></a><img src="画像URL" onerror="this.parentNode.firstChild.firstChild.style.border=0; this.parentNode.firstChild.removeAttribute('href'); this.parentNode.removeChild(this);" onload="this.parentNode.removeChild(this);" height="0" width="0"></div>
0 × 0 のサイズでリンク先画像を表示してみて、
もしも画像じゃなかったら onerror が呼ばれるので、
そこでサムネイルのボーダーを 0 にし、
サムネイルを囲んでいる a タグの href を消す。
結局、重くなったり、Basic認証のポップアップが出ることがあったり、
なんだかんだでやめたけど。
ということで、おすすめしない。
「setAttribute('onerror',"this.src='...'")」とかは良いかと。