如何导致网站从服务器端更改内容?让这个例子成为gmail聊天或在Facebook上聊天。甚至新的消息都会在堆栈溢出上签名。
是由http://en.wikipedia.org/wiki/Comet_(programming)完成的吗?
感谢您的帮助
答案 0 :(得分:4)
这种事情通常是根据计时器一次又一次地触发JavaScript来完成的。它将检查数据库中的事物状态并调整标记中的内容。例如,更改某些元素的CSS类以引入不同的颜色或粗体字体,用更亮的颜色替换图片等等。非常简单。没有任何魔法。
答案 1 :(得分:0)
客户端必须“轮询”服务器以进行更改。即基于计时器的Ajax调用,每隔15秒检查一次服务器以获取新数据,并根据结果采取措施。
非常宽松的例子:
setTimeout('checkMessages()',15000);
function checkMessages() {
//using jquery
$.get( .......... , function (data) { if (data == "newmsg") { $('#newmsgind').blink(); });
setTimeout('checkMessages()',15000);
}
Web浏览器并不真正保持与服务器的连接。你拉一页就是这样。 Ajax允许连续的异步通信,但始终是客户端启动。
答案 2 :(得分:0)
如果你真的不喜欢javascript方法,你可以编写一个Java applet,它以你喜欢的方式工作,保持与服务器的开放连接。但这是通常轻量级问题的重量级解决方案。