- 締切済み
読み込み中に「Now Loading」を表示したい
質問致します。読み込み中に「Now Loading」を表示させる質問はこのカテゴリーに何件かございますが、以下のパターンのように、インラインフレームで指定されたPHPファイルの読み込み中に「Now Loading」を表示することは可能でしょうか? <html> <head> <title>xxx</title> </head> <body> <iframe src="aaa.php" frameborder="0" scrolling="no" width="xxx" height="xxx"></iframe> </body> </html> 過去の質問によくあるファイルサイズの大きいJPGファイルの読み込みに時間がかかってしまう問題と今回の私の質問である、PHPファイル自体の読み込みに時間がかかってしまうという問題ではやはり視点が違うのでしょうか? どなたかアドバイスの程よろしくお願い致します。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- yambejp
- ベストアンサー率51% (3827/7415)
#2です。 質問がずれてきていますが一応フォロー ヒアドキュメントといいます。 http://www.php.net/manual/ja/language.types.string.php#language.types.string.syntax.heredoc print <<<eof <table border='0' cellspacing='0' cellpadding='0'> <tr><td>{$A}</td></tr> <tr><td>{$B}</td></tr> <tr><td>{$C}</td></tr> </table> eof; とします。 変数を{}でくくるのは必ずしも必要はないのですが、明示的に 区切っておかないとトラブルのもとなので、そうします。 プログラムで書く場合は $table =<<<eof <table border='0' cellspacing='0' cellpadding='0'> <tr><td>{$A}</td></tr> <tr><td>{$B}</td></tr> <tr><td>{$C}</td></tr> </table> eof; print $table; などとして、一度変数に流し込んでから表示するのも手です。
- yambejp
- ベストアンサー率51% (3827/7415)
divでロード中と標記しておき、データがロードし終わったとき (onload時)にdivの表示を消してしまえばよいでしょう。 <?php print <<<eof <script language="javascript"> window.onload=function(){ document.getElementById("loading").style.display="none"; } </script> <div id="loading">ロード中</div> eof; flush(); sleep(2); print <<<eof 本文です<br> 本文です<br> 本文です<br> 本文です<br> 本文です<br> eof; ?>
基本的には同じ。 読込み終ると onLoadを設定しておけば呼ばれるのでNowLoadingを消して読み込まれたものを見えるようにしたら良い
補足
ご返答ありがとうございます。只今、JavaScriptを勉強中なのですが、もう少し具体的にお願いできれば幸いです。よろしくお願い致します。
補足
yambejp様、お返事ありがとうございます。 print <<<eof というものを始めて知りました。使い方を色々調べたのですが、検索してもいまいち。以下のように変数がたくさんある場合はどのように書き換えればよいのでしょうか? print("<table border='0' cellspacing='0' cellpadding='0'> <tr><td>".$A."</td></tr> <tr><td>".$B."</td></tr> <tr><td>".$C."</td></tr> </table>"); 以下でOKでしょうか? print <<<eof <table border='0' cellspacing='0' cellpadding='0'> <tr><td>".$A."</td></tr> <tr><td>".$B."</td></tr> <tr><td>".$C."</td></tr> </table> eof; お手数お掛けいたしますがよろしくお願い致します。