Как автоматически обновить страницу, если не удалось загрузить страницу? - PullRequest
0 голосов
/ 19 января 2019

Я придумал это решение: Мое решение / Ожидание: Поставь setTimeout ().Так что, если страница все равно не загрузится, через 5 секунд я перезагрузлю (автоматически) страницу.Смотрите код:

var time;
window.onload = function(){
    time = setTimeout(function(){ document.location.reload(); }, 5000);
};

$(document).ready(function(){
    clearTimeout(time);
});

Моя проблема с этим решением является то, что страница все равно будет перезагружаться, даже если страница уже загружена.

Я хочу отменить setTimeout, если страница уже загружена, но приведенный выше код не работает должным образом.

Кто-то может мне помочь, мне действительно нужно это для моей диссертации.Пожалуйста помоги.Спасибо в adv.

Ответы [ 2 ]

0 голосов
/ 19 января 2019

Вместо jQuery используйте document.readyState примерно так:

var time;
window.onload = function(){
    time = setTimeout(function(){
        document.location.reload(); 
    }, 5000);
};

document.onreadystatechange = function() {
    if (document.readyState == "complete") {
        clearTimeout(time);
    }
}
0 голосов
/ 19 января 2019

Это поможет ... поскольку сам документ имеет переменную readyState

var time;
window.onload = function() {
    time = setTimeout(function() {
        if (document.readyState === 'complete') {
            clearTimeout(time);
        } else {
            document.location.reload();
        }

    }, 5000);
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...