New version: show loading icon until page renders
This commit is contained in:
parent
47f24cd27b
commit
5ef79dca14
@ -237,7 +237,7 @@ canvas {
|
|||||||
|
|
||||||
.loadingIcon {
|
.loadingIcon {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
display: none;
|
display: block;
|
||||||
left: 0;
|
left: 0;
|
||||||
top: 0;
|
top: 0;
|
||||||
right: 0;
|
right: 0;
|
||||||
@ -245,8 +245,8 @@ canvas {
|
|||||||
background: url('images/loading-icon.gif') center no-repeat; */
|
background: url('images/loading-icon.gif') center no-repeat; */
|
||||||
}
|
}
|
||||||
|
|
||||||
.loadingIcon.show {
|
.loadingIcon.hide {
|
||||||
display: block;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.textLayer {
|
.textLayer {
|
||||||
|
@ -618,6 +618,10 @@ var PageView = function pageView(container, content, id, pageWidth, pageHeight,
|
|||||||
div.removeAttribute('data-loaded');
|
div.removeAttribute('data-loaded');
|
||||||
|
|
||||||
delete this.canvas;
|
delete this.canvas;
|
||||||
|
|
||||||
|
this.loadingIconDiv = document.createElement('div');
|
||||||
|
this.loadingIconDiv.className = 'loadingIcon';
|
||||||
|
div.appendChild(this.loadingIconDiv);
|
||||||
};
|
};
|
||||||
|
|
||||||
function setupAnnotations(content, scale) {
|
function setupAnnotations(content, scale) {
|
||||||
@ -774,7 +778,7 @@ var PageView = function pageView(container, content, id, pageWidth, pageHeight,
|
|||||||
};
|
};
|
||||||
|
|
||||||
this.drawingRequired = function() {
|
this.drawingRequired = function() {
|
||||||
return !div.hasChildNodes();
|
return !div.querySelector('canvas');
|
||||||
};
|
};
|
||||||
|
|
||||||
this.draw = function pageviewDraw(callback) {
|
this.draw = function pageviewDraw(callback) {
|
||||||
@ -790,10 +794,6 @@ var PageView = function pageView(container, content, id, pageWidth, pageHeight,
|
|||||||
div.appendChild(canvas);
|
div.appendChild(canvas);
|
||||||
this.canvas = canvas;
|
this.canvas = canvas;
|
||||||
|
|
||||||
var loadingIconDiv = document.createElement('div');
|
|
||||||
loadingIconDiv.className = 'loadingIcon';
|
|
||||||
div.appendChild(loadingIconDiv);
|
|
||||||
|
|
||||||
var textLayerDiv = null;
|
var textLayerDiv = null;
|
||||||
if (!PDFJS.disableTextLayer) {
|
if (!PDFJS.disableTextLayer) {
|
||||||
textLayerDiv = document.createElement('div');
|
textLayerDiv = document.createElement('div');
|
||||||
@ -816,16 +816,9 @@ var PageView = function pageView(container, content, id, pageWidth, pageHeight,
|
|||||||
// Rendering area
|
// Rendering area
|
||||||
|
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
// Display loading icon if page hasn't finished rendering after XXXX ms
|
|
||||||
var loadingTimer = setTimeout(function loadingTimerCallback() {
|
|
||||||
loadingIconDiv.classList.add('show');
|
|
||||||
}, 1000);
|
|
||||||
|
|
||||||
stats.begin = Date.now();
|
stats.begin = Date.now();
|
||||||
this.content.startRendering(ctx, function pageViewDrawCallback(error) {
|
this.content.startRendering(ctx, function pageViewDrawCallback(error) {
|
||||||
clearTimeout(loadingTimer);
|
self.loadingIconDiv.classList.add('hide');
|
||||||
loadingIconDiv.classList.remove('show');
|
|
||||||
|
|
||||||
if (error)
|
if (error)
|
||||||
PDFView.error('An error occurred while rendering the page.', error);
|
PDFView.error('An error occurred while rendering the page.', error);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user