Показать сообщение отдельно
  #1 (permalink)  
Старый 25.11.2014, 06:24
Аватар для _Alex9_
Аспирант
Отправить личное сообщение для _Alex9_ Посмотреть профиль Найти все сообщения от _Alex9_
 
Регистрация: 28.03.2013
Сообщений: 45

Кешировать страницы с помощью XMLHttpRequest
Всё находится и запускается на одном и том же домене в последних версиях основных браузеров.
var xmlhttp = new XMLHttpRequest();
var sites = ["/page1", "/page2", "/page3"];
var cache = {};

function xhrStart(url) {
    xmlhttp.open("GET", url, true);
    xmlhttp.send();
}

function isOkXhr() {
    return (xmlhttp.readyState == 4 &&
        (xmlhttp.status >= 200 && xmlhttp.status < 300));
}
function reload() {
    var len = sites.length;
    var i;
    for (i = 0; i < len; i++) {
        var url = sites[i];
        
        xmlhttp.onreadystatechange = function () {
            if (isOkXhr())
                cache[url] = xmlhttp.responseText;
        }
        xhrStart(url);
    }
}

Функция reload должна бы кешировать все страницы, но на самом деле все запросы возвращают Aborted в отладчике, кроме последнего. В чём может быть проблема?

Последний раз редактировалось _Alex9_, 25.11.2014 в 06:28.
Ответить с цитированием