2

次の方法で PHP を使用してプッシュ通知をシミュレートしています。

  1. jQuery ajax 呼び出しは、サーバー上のスクリプトを呼び出します。
  2. スクリプトは for ループを使用して遅延されており、各反復後にスリープしています。
  3. 何かが発生した場合 - ループが中断され、情報が jQuery に返されます。
  4. スクリプトが 1 分以上実行される場合、スクリプトは空の値を返します。
  5. jQuery がサーバーから応答を受け取ると、情報を解析して同じ手順を再度開始します。

これは Facebook で使用されている手順であり、彼らの Web サイトで魅力的に機能します。私のサーバーでは、次の問題があります。たとえば、スクリプトが 60 秒間遅延し、30 秒目に Web サイトの別のリンクをクリックすると、出力を生成するためにまだ 30 秒残っています。そのため、私の Web サーバーはその 30 秒を待っており、クリック要求はその秒後に処理されているため、私の Web サイトはほとんど使用できません。Facebook を再確認したところ、リンクをクリックしてもページが更新されず、リクエストが同じページに流れ続けることがわかりました。ただし、アドレスバーは変更されます。私のウェブサイトで同じことを達成する方法は何ですか? サーバーに一度に複数の PHP リクエストを処理させる方法はありますか、それとも JavaScript のみを使用してこれを行う必要があります。私は何が欠けていますか?

PS 私が知る限り、JavaScript を使用してアドレスバーを変更する方法はありません。

4

1 に答える 1

2

実は HTML 5 にもあります。History API と呼ばれています。

ここで、GitHub のソース コードを使用した簡単なデモを見つけることができます。

http://html5demos.com/history


Dive Into HTML5 の完全な章:

http://diveintohtml5.info/history.html

于 2012-04-19T13:55:05.693 に答える