如何让JS脚本为每个查看它的人更新页面?

时间:2010-08-05 12:49:03

标签: javascript ajax webpage

我正在创建一个允许用户通过Javascript进行更改的Web应用程序。还没有涉及任何AJAX,所以对DOM的更改纯粹是在用户的本地浏览器中进行的。

但是,如何在当时正在查看该页面的任何其他人的浏览器中进行这些DOM更改?我假设AJAX将参与其中。也许该页面可以将整个JS修改后的源代码发送回服务器,然后查看的其他人会收到非常频繁的AJAX更新?

屏幕共享显然是一种简单的解决方法,但我很想知道是否有更好的方法,如上所述。

谢谢!

2 个答案:

答案 0 :(得分:2)

您正在谈论comet,我建议您轻松实施:

并检查这些:

以及新的html5方式

希望这些帮助。

答案 1 :(得分:0)

最大,

必须参与Ajax。如果可以的话,我想建议jQuery作为这个的起点(我知道你没有这样标记,但我觉得它是合适的,即使只是为了原型)。基本语义将涉及与setInterval()计时器一起运行ajax请求以触发ajax请求。这可以在jQuery中完成:

$(document).ready(function() {
    // run the initial request
    GetFreshInfo();
    // set the query to run every 15 seconds
    setInterval(GetFreshInfo, 1500);
});

function GetFreshInfo(){
    // do the ajax get call here (could be a .net or php page etc)
    $.get('mypageinfostuff.php', null, function(data){$('#myDivToUpdate').html(data);});
}

这是基本前提......即网页最初是通过GetFreshInfo()加载的,然后每15秒重新获得一次。如果有新数据,您可以添加logoc以仅刷新div,而不是始终更新页面。因为它是ajax,页面不会冻结,并且用户几乎看不到该过程(除非您想以任何方式标记更改)

希望这有帮助

吉姆