- ベストアンサー
指定したフォルダの画像を一括でプリロードする方法
- ページが表示されたときに、指定した画像をプリロードするようJavaScriptで実装できます。
- ファイル数が多い場合は手間がかかるため、一括でプリロードする方法があります。
- 画像ファイルを一括でプリロードするための関数も用意されています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 #1です。 外部jsファイルの場合は外部jsファイルを動的に作ってあげる必要があります。 HTMLからの呼び出し方法 <script type="text/javascript" src="js.php"></script> ==== 動作サンプル http://hppg.moe.hm/okwave/qa/q7544030/ ==== js.php <?php header ( 'Content-type: application/x-javascript' ); $qaDirs = dir ( './img/' ); $i = 0; $js = "var fileList = new Array();\n"; while ( false !== ($file = $qaDirs->read()) ) { if ( $file !== '.' && $file !== '..' ) { $js .= "fileList[$i] = \"img/" . $file . "\";\n"; $i ++; } } $qaDirs->close(); ?> window.onload = function() { <?= $js ?> var list = ''; for ( var i = 0; i < fileList.length; i ++ ) { list += fileList[i] + '<br>'; } document.getElementById('filelist').innerHTML = list; }
その他の回答 (1)
- LancerVII
- ベストアンサー率51% (1060/2054)
こんにちは。 JavaScriptのみでは無理です。 ブラウザ上で動く言語であって、サーバ上のあれこれは出来ません。 やるとしたらPHP等のサーバ側で動く言語を利用してページのHTMLを生成する際に、フォルダ内のファイル一覧を取得してファイル名をJavaScriptの配列として書き出す方法が考えられます。 そうすれば、HTMLがクライアント側に送信された時にはファイル名が自動的に生成されます。 あとは、HTML内から画像ファイル名を引っ張ってとかあるかもしれませんが、HTML内に書いておくのも手間ですよね。
お礼
javascriptだけでは指定したフォルダを一括プリロードできないんですか。。。 残念です。