2010-08-05 51 views
3

我正在創建一個Web應用程序,允許用戶通過Javascript進行更改。還沒有涉及任何AJAX,所以對DOM的這些更改純粹是在用戶的本地瀏覽器中完成的。如何讓JS腳本爲每個人查看更新頁面?

但是,如何讓那些正在查看該頁面的其他人的瀏覽器中出現DOM更改?我假定這裏涉及到AJAX。也許該頁面可能只是將整個JS修改後的源代碼發送回服務器,然後其他人將收到非常頻繁的AJAX更新

屏幕共享顯然是一個簡單的解決方法,但我很想知道是否有更好的方法,如上所述。

謝謝!

+1

谷歌「網站套接字「 – Pointy 2010-08-05 12:50:20

回答

0

最大,

阿賈克斯將不得不參與。如果可以的話,我想建議jQuery作爲這個的起點(我知道你沒有這樣標記,但我覺得它是適當的,即使只是爲了原型)。基本語義將涉及運行ajax請求和setInterval()定時器以發出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,頁面不會凍結,過程將是幾乎不可見的用戶(除非你想標記以任何方式改變)

希望這有助於

吉姆

+0

查看HTML5 websocket – 2010-08-05 13:03:41

+0

tom-will的確。 「我們在很多網站上都有一些等待,因爲有些偷窺仍然在ie6上 - 太棒了! – 2010-08-05 13:05:18

+0

tom - 我注意到這個可以通過使用flash來承載js piggy-back風格來克服html5的侷限性:http://github.com/gimite/web-socket-js – 2010-08-05 13:31:58

相關問題