是否有jQuery彈出一條消息給用戶,他們所在的數據庫記錄已被更改,並且他們需要刷新以獲取更改?因此,基本上,如果他們正在查看記錄,走開然後回來,在那裏向用戶顯示一條消息,指出您正在查看的記錄已更改 - 請刷新。表明記錄已被更改的jQuery消息
謝謝。
是否有jQuery彈出一條消息給用戶,他們所在的數據庫記錄已被更改,並且他們需要刷新以獲取更改?因此,基本上,如果他們正在查看記錄,走開然後回來,在那裏向用戶顯示一條消息,指出您正在查看的記錄已更改 - 請刷新。表明記錄已被更改的jQuery消息
謝謝。
當然,這個網站做到了。
它是如何工作的大致:
一些注意事項:
或者,您可以看看Comet,這在技術上更困難並且需要大量服務器設置/系統管理員類型知識才能正常工作。
是的,這是可能的,但也有很多部分,你將需要:
首先,一些服務器端代碼,可以檢查記錄是否已經更新。如果沒有關於你所工作的環境的更多信息,我無法給你提供任何關於此步驟的信息。
其次,你需要使用jQuery's ajax features來每隔一段時間從頁面發送一個ajax請求。在該ajax請求的回調函數中,您可以檢查ajax響應是否表示記錄已更新。
第三,您只需決定如何讓用戶知道記錄已更改。你可以簡單地在頁面上的某個地方插入一些文本,或者你可以想象並創建一些對話框讓他們知道。或者,如果你願意,你甚至可以爲他們刷新頁面,而不是告訴他們它已經更新。
事情是這樣的:
function checkForUpdates() {
$.getJSON('/theUrlForUpdateChecker', { record_id: 23 }, function(json) {
if (json.isRecordUpdated) {
var message = 'The record has been updated, please refresh the page';
$('#notificationArea').text(message);
}
});
}
//execute it every 60 seconds (60000 milliseconds):
setInterval(checkForUpdates, 60000);
我用的setInterval爲了簡單,但是對於節約資源的利益,你可能會想一遍又一遍的setTimeout使用,並停止檢查更新,一旦你知道的記錄是更新。