2011-04-07 26 views

回答

1

這真的很簡單,從邏輯:

  • 一段JavaScript檢查回來的服務器每ň秒它具有最新的結果的時間戳。
  • 服務器檢查是否有任何結果比此時間戳更新,並報告有多少結果。
  • Javascript在瀏覽器中顯示此通知。
+0

好吧,讓我們說我,你和約翰..現在我與'102新結果',你有'40個新的結果'。使結果不同的關鍵是什麼?示例現在傳入10個新結果。我會成爲'112'和你'50'。 – wow 2011-04-07 05:57:38

+0

@哇關鍵是每個客戶都知道他們擁有**的最後一條推文。該腳本聯繫服務器,並說*「我擁有的最新tweet是2935862,有沒有比這更新的?」*。每個客戶詢問服務器一個不同的問題並獲得一個定製的答案。 – deceze 2011-04-07 06:09:00

+1

@wow如果你檢查Twitter正在做什麼,這是刷新腳本調用的URL:'http://search.twitter.com/search?q =%23idontbelieveyou&refresh = true&since_id = 55877301660942340'。注意''since_id'參數。 – deceze 2011-04-07 06:21:59

1

它只是投票通過jQuery或阿賈克斯(同樣的事情真的)

// Untested, written here without syntax. 
var timeSinceUpdate = <?php echo(time()); ?>; 
$(document).ready(function(){  
    setInterval(function(){ 
     $.get('queriesSince.php?searched=idontbelieveyou&timesinceupdate=' + timeSinceUpdate , function(data){ 
      alert(data); 
      if(confirm('Add new Data to screen?')) 
      { 
       //Add Stuff to DOM and update the timeSinceUpdate from the data recieved. 
      } 
     }); 
    }, 3000); 
}); 
1

這將只是發出了XHR到服務器,看是否有更多的鳴叫腳本匹配查詢。

如果有新的匹配項,它將返回計數並且JavaScript更新DOM以適應。