var $this = this;
-
- if (this.texts[pageNr] !== undefined) {
- var textContent = this.fluidbook.support.chromeBased ? '<canvas data-page="' + pageNr + '" class="p"></canvas><canvas data-page="' + pageNr + '" class="z"></canvas>' : this.texts[pageNr];
- $("#page_" + pageNr + ' .texts').html(textContent);
- $this.renderTextsCanvas();
- callback();
+ if (this.texts[pageNr] !== undefined && $(this.texts[pageNr]).get(0).width > 0) {
+ this.addTextContents(pageNr, callback)
} else {
this._loadTexts(pageNr, function () {
- var textContent = this.fluidbook.support.chromeBased ? '<canvas data-page="' + pageNr + '" class="p"></canvas><canvas data-page="' + pageNr + '" class="z"></canvas>' : this.texts[pageNr];
- $("#page_" + pageNr + ' .texts').html(textContent);
- $this.renderTextsCanvas();
- callback();
+ $this.addTextContents(pageNr, callback)
});
}
},
+ addTextContents: function (pageNr, callback) {
+ var t = $("#page_" + pageNr + ' .texts');
+ if (this.fluidbook.support.chromeBased) {
+ $(t).html('<canvas data-page="' + pageNr + '" class="p"></canvas><canvas data-page="' + pageNr + '" class="z"></canvas>');
+ this.renderTextsCanvas();
+ } else {
+ $(t).append(this.texts[pageNr]);
+ }
+ callback();
+ },
+
renderTextsCanvas: function () {
+ if (!this.chromeBased) {
+ return;
+ }
var $this = this;
var z = this.fluidbook.resize.bookScale * 1.5;
var page = $(this).data('page');
if ($(this).data('bookScale') === z) {
- console.log('no need to render canvas on page ' + page + '')
return;
}
- console.log('render canvas on page ' + page);
var cw = $(this).hasClass('z') ? wz : w;
var ch = $(this).hasClass('z') ? hz : h;
ctx.clearRect(0, 0, cw, ch);
var img = $this.texts[page].get(0);
- // if (img.width === 0) {
- // $this.deletePage(page);
- // $this._preloadPage(page, callback);
- // return;
- // }
+ if (img.width === 0) {
+ $this.deletePage(page);
+ $this._preloadPage(page, callback);
+ return;
+ }
ctx.drawImage(img, 0, 0, cw, ch);
$(this).data('bookScale', z);
});