ここでは、クライアント側からTIFFファイルをユーザービューのイメージに変換するTIFFリーダーライブラリを使用しています。ユーザーは一度に1つのみ表示され、次回/前のページを表示するページングを提供します。ティフを取得し、それを画面上のイメージとしてレンダリングします。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/)で可能です。それは自明ではありませんが、**ハード**それ自体ではありません... –