Странная ошибка в нашем проекте.У меня не было возможности проверить запрос в сетевой панели, но у меня есть код, показанный ниже, который извлекает файл 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 с НЕКОТОРЫМИ запросами. Почему это произошло?