我有一個應用程序,其中的項目可以由多個用戶進行編輯。當有人編輯一個項目時,其他人必須重新加載頁面才能看到更改。如何知道某人編輯某件物品時是否可以爲其他人刷新該物品。如何在其他用戶編輯它時重新加載網頁?
所以說,鮑勃是在佛羅里達州和網站編輯的項目。直到她重新加載頁面之前,西雅圖的Jill纔看到變化。當鮑勃編輯它時,我該如何刷新吉爾的物品?
我使用的軌道,jQuery的,在Heroku的PostgreSQL。
編輯:如果一個頁面有200個項目,我寧願不經常檢查,看看他們每個人都有改變。
我有一個應用程序,其中的項目可以由多個用戶進行編輯。當有人編輯一個項目時,其他人必須重新加載頁面才能看到更改。如何知道某人編輯某件物品時是否可以爲其他人刷新該物品。如何在其他用戶編輯它時重新加載網頁?
所以說,鮑勃是在佛羅里達州和網站編輯的項目。直到她重新加載頁面之前,西雅圖的Jill纔看到變化。當鮑勃編輯它時,我該如何刷新吉爾的物品?
我使用的軌道,jQuery的,在Heroku的PostgreSQL。
編輯:如果一個頁面有200個項目,我寧願不經常檢查,看看他們每個人都有改變。
你必須要麼請求,服務器將定期與$就來檢查,如果該項目在頁面加載後修改,或使用comet
你說的是知道什麼爲具有從服務器,而無需重新加載頁面發送和接收數據包的能力的Ajax(異步JavaScript)。幸運的是,對於AJAX,Rails具有內置的功能。我發現this是一個非常好的教程。此外,目前我還找不到它,但是有一個非常好的屏幕截圖,展示瞭如何在rails上使用ruby創建博客,並且還涵蓋了AJAX。
可以使腳本返回「1」時,網頁已更改,「 0「的時候沒有。然後,你做這樣的事情用jQuery:
setInterval(function() {
$.ajax({
'url': 'url_to_check',
'method': 'GET',
'data': {
'pageid': pageidhere
},
'success':function(data) {
if (data == '1') {
location.reload();
}
}
});
}, 5000);
其中url_to_check是檢查是否有一定的pageid必須重新加載腳本的URL。 5000個代表「再次檢查每5秒」
你可以開始玩了jQuery的阿賈克斯,這是非常強大的
我希望有一個簡單的方法做做什麼彗星。如果一個頁面有200個項目,我不想經常檢查它們是否每個都改變了。 – Dan 2011-04-16 18:45:53
您發送到服務器頁面加載時間 - 並且服務器發回更改的對象。 – glebtv 2011-04-16 20:06:47