• ベストアンサー

該当ファイルが無いときに別のファイルを表示したいです。

画像ファイルを<img src="">表示しようとした時に、該当するファイル が無かった場合に代用ファイルを表示したり、何も表示しない方法はな いでしょうか? HTMLでは無理でしょうか… JavaScript とかならできますか? よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.3

きちんと、仕様書どおりのHTMLを作成するなら、javascriptなんて不要です。 <img ***** alt="代替テキスト">として、 ★その画像ファイルがないとき ★その画像を使用しているブラウザで表示できない など、画像が表示されない時は、必ず【適切な】代替テキストを表示するように定められています。  【13.8 代替テキストの指定方法】HTML4仕様書(邦訳) ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/objects.html#alternate-text )  また、別の方法としてというか本来は<object>要素を使うべきです。 <p><!-- 最初にPythonアプレットに挑戦 --> <object title="宇宙から見た地球" classid="http://www.observer.mars/TheEarth.py"> <!-- 次にMPEGビデオに挑戦 --> <object data="TheEarth.mpeg" type="application/mpeg"> <!-- 次にGIF画像に挑戦 --> <object data="TheEarth.gif" type="image/gif"> <!-- だめならテキストをレンダリングする --> 宇宙から見た<STRONG>地球</STRONG>。 </object> </object> </object> </p>  仕様書のサンプルをXHTMLでもよいように書き直したもの。  javscriptなんか使わなくても、単純にobjectを入れ子にすればよい。 たとえば、jpeg画像を先でおくつもりなら <p><!-- 最初にjpeg画像に挑戦 --> <object title="新商品" data="new.jpg" width="300" height="200" tyle="image/jpeg"> <!-- 次にエラー画像 --> <object data="error.gif" type="image/gif" width="300" height="200" tyle="image/gif"> <!-- 最後に代替テキスト --> 画像の準備中 </object> </object> </object> </p>

asdfg456
質問者

お礼

御礼が非常に遅くなってしまい申し訳ありません。 ログインパスを記録したフラッシュメモリを紛失してしまっていたもので…^^; 教えて頂いたサンプルを参考に思った通りに仕上がりました。 ありがとうございました。

その他の回答 (2)

  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.2

img の alt属性で「代替テキスト」を指定できます。 http://www.kanzaki.com/docs/html/htminfo-alt.html

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.1

JavaScriptでできるわ。 <img>にonErrorというイベントハンドラを利用することで 再取得させることが可能よ。

関連するQ&A