JQuery Auto Reload останавливает сайт на несколько секунд - PullRequest
0 голосов
/ 21 февраля 2012

Я использую приведенный ниже код для автоматической перезагрузки небольшого фрейма в верхней части моего веб-сайта каждые 60 секунд, но каждый раз, когда он перезагружается, он зависает (не может щелкнуть по чему-либо) примерно на 10-20 секунд, иногда даже постоянно, пока страница обновляется вручную. Есть ли способ остановить это?

 $(function() {
$('#stats').load('statsto.php');

    var visibleInterval = 60000;
    var invisibleInterval = 60000;

    $(function() {
        setTimer();
        $(document).bind('visibilitychange'), function() {
            clearTimeout(timer);
            setTimer();    
        };
    });

    function displayStats() {
        $('#stats').load('statsto.php');
        $.ajaxSetup({ cache: false });
    }

    function setTimer() {
        timer = setInterval(displayStats, (document.hidden) ? invisibleInterval : visibleInterval);
    }

});

1 Ответ

1 голос
/ 21 февраля 2012

Скорее всего, ваш запрос Ajax имеет async: false.Попробуйте изменить это значение на true, чтобы разрешить выполнение ajax во время выполнения других действий.

...