人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

http://www.muryoutouroku.com/free/keyplus.php?term=%A4%CF%A4%C6%A4%CA
このサイトで結果が徐々に表示されているのですが、どのような技術を使っているのでしょうか?
スクリプトの拡張子はphpとなっていますが、PHPの関数だけで可能でしょうか?

●質問者: kazzzzz
●カテゴリ:ウェブ制作
✍キーワード:PHP サイト スクリプト 技術 拡張子
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● medical_blog
●18ポイント

技術というような物ではなく、結果をgoogleやyahooに毎回問い合わせに行ってますので、時間がかかり時間差であのような表示になっているのだと思います。

故意的に行おうとするならば自サイト内でも良いですので、回答データーをURLリンクを張って結果を返すようにして、その結果を返すのに少しゆっくりになる制御をかければ可能かと思います。


2 ● Genze-o
●18ポイント

http://www.microsoft.com/japan/developer/library/jpisdk/dhtm...

innerHTML

初期設定では「チェック中」と表示されている部分をJavascriptによって書き換えています。ですのでJavascriptを無効にしてあると、結果が徐々に表示されることはありません。

PHPの関数だけでは難しいのではないかと思います。


3 ● siachan
●18ポイント

まず普通にTABLEタグで「チェック中」という風に書かれた表を出力し、

結果が分かった物から順番にJavaScriptの

ID名.innerHTML=’ほにゃらら’

というのを出力して「チェック中」を実際の件数に置き換えています。

◎質問者からの返答

「実際の件数」はバックエンドで動いているスクリプト(仮にA.cgiとする)の結果の値だと思うのですが、A.cgiの処理が終了したことをJavaScriptに知らせる方法が良く分かりません。ご存知でしょうか?


4 ● siachan
●18ポイント

tableタグを出力した後にその続きとしてscriptを吐いてるだけですから普通に出力するだけでいいと思いますよ。

一気に全てを出力しなければならないわけではなく、結果が分かったらその部分を出力していくだけです。

ブラウザにしてみれば「回線速度遅くて受信に時間が掛かっている」のと同じ状況ですから。

◎質問者からの返答

テストしてみたら、希望の状態が再現できました。

innerHTMLの部分が読み込まれる度に「チェック中」のところが値と入れ替わっているのですね!

参考になりました。ありがとうございました。


5 ● Genze-o
●18ポイント

バックエンドのスクリプトの処理に任せなくても、該当ページ自体がPHPファイルなので、この中で処理が行われていそうな気がします。

該当するJavaScript部分はページ下部にあります。

出力バッファを切るかコントロールするかすれば、

出力内容が順次表示されますので、JavaScript部

分は最後の出力になります(つまりブラウザに解

釈されるのが遅れる)。

ブラウザに解釈されるのが遅れれば、その分その

場所に書いてある「innerHTMLを用いたドキュメン

トの書き換え」という処理も遅れてくることにな

るかと思います。

ですので、結果、順次表示されるということだと思います。

◎質問者からの返答

私もソースを調べてみました。

おっしゃる通りですね。

回答していただいた皆様、ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ