- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:jQueryのloadでアラートやサウンドを鳴らす)
jQueryのloadでアラートやサウンドを鳴らす
このQ&Aのポイント
- jQueryのloadを使ってcheck.phpを監視し、新規の発言があった場合にアラートやサウンドを鳴らす方法について教えてください。
- フォームからの発言をMysqlに登録し、定期的にリロードして表示するテストを行っていますが、新規の発言があった場合にアラートやサウンドを鳴らす方法が分かりません。
- jQueryのloadでcheck.phpを監視しているのですが、新規の発言があった際にアラートやサウンドを鳴らす方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
問題ないと思いますよ。 と、言われても心配は拭えないと思うので、ご自分でしっかり検証はしてみてくださいね。 check.phpは複数人の発言?を登録したDBから30秒ごとに取得します。 ここに個人は関係ないですね。 tableに作成日時や更新日時は持ってますか? 持ってなければレコードのidでもいいと思います。 ただし、このままの実装では自分の発言に対しても、アラートが発生しますので、その辺りが問題なら考慮してあげてください。
その他の回答 (1)
- ONEONE
- ベストアンサー率48% (279/575)
回答No.1
sessionStorageかcookieに毎回、最新時刻を上書き更新して、 前回のものと比較して新しくなってたらalert()という感じでいいんでないでしょうか。 $("#container").load("./check.php", function(responseText){ //前回の最新レコードアップデート時刻を取得 var last_update = sessionStorage.getitem('update'); //今回の最新レコードアップデート時刻を取得(responseTextの中から探す) var this_update = '20140823140912': //セッションに保存 sessionStorage.setitem('update', this_update ); // 前回と今回を比較する : : : });
質問者
お礼
ご回答ありがとうございます。 ご教示頂いた内容からsessionStorageを勉強しています。 Mysqlへ書き込まれる発言は私のみではなく、チャットのように複数人が書き込むのですが、この方法でいけますでしょうか?
お礼
重ね重ねありがとうございます。 sessionとあったので、PHPのsessionのようなものだと勘違いし頓珍漢な返答をしてしまいました。 responseTextで返ってくるんですね。 responseTextの返り値が複雑だったので色々勉強し、jsonで返すようにして解決しました。 ONEONE様のご回答がきっかけで深く勉強する事ができました。 ありがとうございました。