• ベストアンサー

強制的に読み込み完了とする方法はありますか?

こんにちは。 HPからどうしても外したくない外部取り込みの 画像があるのですが、その画像の読み込みが遅く 大変困っております。 そこで、perl(CGI,SSI)かjavaスクリプトを使って 「3秒以内に画像の読み込みが完了しなければ、 途中であっても読み込みを完了(HPのload完了) する」 というプログラムは作れますでしょうか? もし作れるのであれば、お教え頂きたいのですが。 お手数ですがどうぞ宜しくお願い致します。

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

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

onloadを走らせたければ・・・ 重い画像の変わりに軽いダミーの画像を読み込み onloadで画像を差し替えるという方法もありますね。 function LoadImage() { document.getElementById('hoge').src="重い画像のURL" } <body onload="LoadImage();他のjavascript・・・"> <img src="ダミー画像のURL" alt="" width="ww" height="hh" id="hoge">

ubsk
質問者

お礼

どうやらこれでうまくいったようです!! まる2日これで悩んでいたので、 本当に嬉しいです! ありがとう御座いましたm(__)m

その他の回答 (1)

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

クライアント(ブラウザ)側で計るのとサーバ側(CGIとか)で計るのとでは一言に3秒といっても意味が違ってきますが・・・とりあえずJavascriptで。 「読み込みを完了」には一応なるかと思います。 ■<head>~</head>に <script type="text/javascript"> <!-- function ImgLoadControl() { var oImg = document.getElementById('hoge'); if(oImg.complete == false) { oImg.src = '';//3秒後に読み込みが完了していなければsrcを無効な値に変更。 } } //--> ■画像の部分。 <img src="・・・" alt="" width="" height="" id="hoge"> <script type="text/javascript"> <!-- setTimeout(ImgLoadControl,3000); //--> </script> 「読み込みを完了」の状態にしなければいけない理由がわかれば違う手もあるかも。 (onload で動かすJavascriptがあるとか?)

ubsk
質問者

補足

ご回答ありがとう御座います!! 少し、暫くPCが見られないので、 後ほどお礼&試してみますが、 ご指摘の通り、 onloadでjavaスクリプトを呼び出しております。 これを踏まえ、更にご助言等あれば、お知らせ 頂ければ幸いです。m(__)m

関連するQ&A