Когато потребител щракне върху бутона за запазване, искам всички потребители в момента на страницата да бъдат уведомени или дори по-добре (или още по-лошо като се замисля) да принудя страницата да се опреснява.
И така, опитах това в моя скрипт:
function save_match() {
...
alert("Saved slot " + slot + "! :)");
window.location.reload();
}
но опресняването, разбира се, се случва само за потребителя, който действително е натиснал бутона, другите потребители нямат представа за записа, който другият потребител току-що е направил.
Принудителното презареждане на страницата изглежда малко вероятно да се случи, така че какво ще кажете да направите нещо чрез JavaScript, което да уведоми другите онлайн потребители за инцидента със запазване?
Възможен свързан въпрос.
И така, това, което искам, е следното:
function save_match() {
...
alert("Saved slot " + slot + "! :)");
// do something here so that all online users are updated!!
}
save_match()
. @PaulG - person gsamaras   schedule 14.01.2015save_match()
ще създаде заявка с променливаrefresh = true
или нещо подобно. На сървъра ще зададе глобална променливаeveryone_refresh = true
, акоrefresh = true
е изпратено от клиент. След това, отделно от това, имаме друга AJAX заявка на всяка 1 секунда, която ще поиска от сървъраeveryone_refresh
променлива. Ако върне true,window.location.reload()
. Доста просто. Всеки клиент ще знае кога да опресни. Разбира се, има още неща, които трябва да се вземат предвид, като избягване на припокриване и т.н. - person kappaallday   schedule 14.01.2015