Здесь вы используете библиотеку tiff reader с клиентской стороны для преобразования TIFF-файла в изображение для пользовательского вида. Пользователь будет видеть только по одному, при условии, что он будет отображаться в следующем/предыдущем, здесь, когда пользователь разбивает страницы каждый раз на сервер получить tiff и отобразить его как изображение на экране. см код:Можно ли обрабатывать кеш в Javascript?
var costructUrl = 'http://cdn.dmsapp.tk/'+appUrl+'/'+evt+'?authToken='+this.getuserservice.authorizationfun()+'&force=false'; xhr.open('GET', costructUrl); xhr.responseType = 'arraybuffer';
xhr.onload = function (e) {
var pages = [];
var buffer = xhr.response;
var tiff = new Tiff({buffer: buffer});
var len = tiff.countDirectory();
var currentPage = index;
if (currentPage < len) getTiff();function getTiff(){
tiff.setDirectory(currentPage);
var canvas = tiff.toCanvas();
var ctx = canvas.getContext('2d');
pages.push(canvas.toDataURL()); if ((currentPage+1 < len && currentPage < limit)) {
currentPage++;
getTiff(); // get next page
}
}
}
};xhr.send();
Мой вопрос, можно ли хранить xhr.responce в кэше, чтобы предотвратить сервер ударил каждый раз.
ServiceWorkers. – dfsq
Использование localStorage – anshuVersatile
Да, это возможно в современных браузерах с [работниками службы] (https://www.w3.org/TR/service-workers/). Это нетривиально, но не ** трудно ** per se ... –