loading the max 15 thumbnails first time
This commit is contained in:
parent
29d0d8a8a9
commit
32f681cfcf
@ -275,6 +275,12 @@ var PDFViewer = {
|
|||||||
PDFViewer.url = url;
|
PDFViewer.url = url;
|
||||||
document.title = url;
|
document.title = url;
|
||||||
|
|
||||||
|
if (this.thumbsLoadingInterval) {
|
||||||
|
// cancel thumbs loading operations
|
||||||
|
clearInterval(this.thumbsLoadingInterval);
|
||||||
|
this.thumbsLoadingInterval = null;
|
||||||
|
}
|
||||||
|
|
||||||
var req = new XMLHttpRequest();
|
var req = new XMLHttpRequest();
|
||||||
req.open('GET', url);
|
req.open('GET', url);
|
||||||
req.mozResponseType = req.responseType = 'arraybuffer';
|
req.mozResponseType = req.responseType = 'arraybuffer';
|
||||||
@ -291,6 +297,8 @@ var PDFViewer = {
|
|||||||
req.send(null);
|
req.send(null);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
thumbsLoadingInterval: null,
|
||||||
|
|
||||||
readPDF: function(data) {
|
readPDF: function(data) {
|
||||||
while (PDFViewer.element.hasChildNodes()) {
|
while (PDFViewer.element.hasChildNodes()) {
|
||||||
PDFViewer.element.removeChild(PDFViewer.element.firstChild);
|
PDFViewer.element.removeChild(PDFViewer.element.firstChild);
|
||||||
@ -312,12 +320,22 @@ var PDFViewer = {
|
|||||||
PDFViewer.drawPage(1);
|
PDFViewer.drawPage(1);
|
||||||
document.location.hash = 1;
|
document.location.hash = 1;
|
||||||
|
|
||||||
setTimeout(function() {
|
// slowly loading the thumbs (few per second)
|
||||||
for (var i = 1; i <= PDFViewer.numberOfPages; i++) {
|
// first time we are loading more images than subsequent
|
||||||
PDFViewer.createThumbnail(i);
|
var currentPageIndex = 1, imagesToLoad = 15;
|
||||||
PDFViewer.drawThumbnail(i);
|
this.thumbsLoadingInterval = setInterval((function() {
|
||||||
|
while (imagesToLoad-- > 0) {
|
||||||
|
if (currentPageIndex > PDFViewer.numberOfPages) {
|
||||||
|
clearInterval(this.thumbsLoadingInterval);
|
||||||
|
this.thumbsLoadingInterval = null;
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
}, 500);
|
PDFViewer.createThumbnail(currentPageIndex);
|
||||||
|
PDFViewer.drawThumbnail(currentPageIndex);
|
||||||
|
++currentPageIndex;
|
||||||
|
}
|
||||||
|
imagesToLoad = 3; // next time loading less images
|
||||||
|
}).bind(this), 500);
|
||||||
}
|
}
|
||||||
|
|
||||||
PDFViewer.previousPageButton.className = (PDFViewer.pageNumber === 1) ? 'disabled' : '';
|
PDFViewer.previousPageButton.className = (PDFViewer.pageNumber === 1) ? 'disabled' : '';
|
||||||
|
Loading…
x
Reference in New Issue
Block a user