1

実際の Web ページがロードまたは更新された時刻を取得したいと思います。

http リクエストを試みましたが、そのような情報はありません。

ページが読み込まれた後、ajax 関数は 60 秒ごとに新しいメッセージをチェックします。新しいもの (ページの読み込み後に投稿されたもの) のみを表示する必要があります。

よろしくお願いします。

4

3 に答える 3

0

すべてのメッセージにタイムスタンプを付けます。AJAX 関数で、既に持っている最後のメッセージのパラメーターを送信します。それよりも新しいメッセージのみを返します。たとえば、ヒットした AJAX URL は次のようになり/get_messages.php?newer_than=1343041382ます。

于 2012-07-23T11:03:25.563 に答える
0

@DaveRandomが述べたように:

time() の結果を $_SESSION に保存するだけです - 例えば $_SESSION['lastPoll'] = time();。次に、サーバーをポーリングして新しいメッセージ "SELECT * FROM messages WHERE message_time > ".$_SESSION['lastPoll'] を探し、格納された値を新しい time() で更新するたびに

于 2012-07-23T11:42:40.990 に答える
0

メッセージが送信された時間をデータベースに保存し、それをタイムスタンプとして保存すると仮定すると、次のようなものを使用できます。

ページが読み込まれると、現在の時刻を次のように保存できます。

$page_load_time = time();

次に、post または get を使用して、AJAX でロードされたファイルに $page_load_time を送信するだけで、AJAX でロードされた PHP ファイルで、すべての新しいメッセージを取得する SQL クエリを実行できます。多分このようなもの:

$sql = "SELECT * FROM `messages` WHERE `time` > '{$page_load_time}'
于 2012-07-23T11:13:23.903 に答える