Firefox SOMEtimes получает пустой responseText для НЕКОТОРЫХ определенных запросов - PullRequest
0 голосов
/ 01 февраля 2019

Странная ошибка в нашем проекте.У меня не было возможности проверить запрос в сетевой панели, но у меня есть код, показанный ниже, который извлекает файл js / css с нашего сервера и устанавливает его в localstorage для более быстрой загрузки страницы, как мы и ожидаем.

Так что иногда браузеры наших пользователей (все Firefox, некоторые 64, некоторые 48) не могут полностью открыть страницы, очевидно, отсутствует какой-то файл css / js.Когда я проверял localStorage, некоторые файлы (на самом деле определенные два или три файла) хранятся с пустым «содержимым», но с правильной «версией».

function _load(version, url, type) {
    return new Promise(function(resolve) {
        var xhr = new XMLHttpRequest();
        xhr.onreadystatechange = function() {
            if (xhr.readyState === 4)
                if (xhr.status === 200) {
                    console.log(type + ' loaded: ' + url + '@' + version);
                    try {
                        _store.set(CACHE_PREFIX+url, { // just a wrapper of localStorage.setItem()
                            content: xhr.responseText,
                            version: version
                        });
                    } catch (error) {
                        console.warn(error);
                    }
                    resolve()
                } else {
                    console.warn('error loading '+type+': '+url+'@'+version);
                    resolve()
                }
        }
        xhr.open("GET", url+'?'+version, true);
        xhr.send();
    })
}

, поэтому очевидно, что xhr.reponseText пуст, даже если readyState=== 4 и status === 200, и это происходит только в Firefox с НЕКОТОРЫМИ запросами. Почему это произошло?

...