PHP - 收到新邮件时更新iFrame

时间:2015-12-22 02:36:40

标签: javascript php html iframe instant-messaging

我是PHP的新手。我制作了一个消息传递系统,但您必须手动使用消息更新iFrame。如何在收到新邮件时更新此iFrame?

2 个答案:

答案 0 :(得分:1)

如果您希望在加载页面后定期轮询服务器,则需要使用javascript定期向服务器发送请求而不重新加载页面(这就是使用AJAX的方式)对)。

如果您可以制作一条返回在特定时间段后创建的所有消息的php消息,您可以使用javascript发送请求。

如果您在客户端上使用jQuery,它看起来像这样(检查http://api.jquery.com/jquery.ajax/以获取更多详细信息):

var timestamp = Date.now();
setInterval(function() {
  $.ajax("/newmessage?timestamp=" + timestamp, {
    success: function(data) {
      //Do something with the new messages here
      $("#messages").append("<div id='message'>" + data.message + "</div>";
    }
  });
}, 10000);
// Runs interval every 10000 milliseconds

也可以使用普通的javascript,但代码会有所不同。

如果您已经控制了服务器,那么还有其他消息传递选项,使用websockets,可以保持连接打开并来回传递消息(http://www.websocket.org/echo.html)。

答案 1 :(得分:0)

谢谢大家!这就是我所做的(我从http://code.tutsplus.com/tutorials/how-to-create-a-simple-web-based-chat-application--net-5931借来的,由chris85建议:

&#13;
&#13;
<script>setInterval(function(){document.getElementById("messages").src += "";}, 2000);</script>
&#13;
&#13;
&#13;