Как перезагрузить страницу, когда jquery.counter вызывает событие finish.countdown для нескольких экземпляров?
Я использую несколько экземпляров для jQuery обратного отсчета и реализовать перезагрузку страницы, когда счетчик завершится, например
$('.countdown').each(function() {
var $this = $(this),
finalDate = $(this).data('countdown');
$this.countdown((finalDate), function(event) {
var days = event.strftime('%D');
$(this).find('.days').children('span').html(days);
$(this).find('.hours').children('span').html(event.strftime('%H'));
$(this).find('.minutes').children('span').html(event.strftime('%M'));
$(this).find('.seconds').children('span').html(event.strftime('%S'));
});
$(this).on('finish.countdown', function(event){
/*if(!window.location.hash && !(window.location.hash.indexOf('_loaded') > -1)) {
window.location = window.location + '#_loaded'; window.location.reload();
}*/
//If I put window location reload here it will goes into infinite loop. Also above commented code will reload page twice initially which is also not valid solution.
});
});
Проблема: если обратный отсчет уже завершен (например, 00: 00: 00: 00), то перезагрузка страницы происходит дважды при первой загрузке скрипта,
Я использовал концепцию localStorage, но не смог найти точное решение. Пожалуйста помоги
1 ответ
У меня была почти эта проблема со страницей, постоянно перезагружаемой мгновенно. Попробуйте проверить, совпадают ли ваше местное время и время сервера. В моем случае разница составляла два часа, и это стало причиной того, что страница была в постоянном цикле. Плагин обратного отсчета имеет несколько заметок о осведомленности о часовом поясе: http://hilios.github.io/jQuery.countdown/examples/timezone-aware.html