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='...'")」とかは良いかと。
