]> _ Git - fluidbook-html5.git/commitdiff
wip #4702 @1
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 24 Sep 2021 12:16:15 +0000 (14:16 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Fri, 24 Sep 2021 12:16:15 +0000 (14:16 +0200)
js/libs/fluidbook/fluidbook.loader.js

index 5771e95a76195fbb508045c0697551fd3a8030c8..4b8eb38d7b140d8b9ba26c3eba12327be0c795f1 100644 (file)
@@ -665,23 +665,30 @@ FluidbookLoader.prototype = {
 
         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;
@@ -700,10 +707,8 @@ FluidbookLoader.prototype = {
             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;
@@ -715,11 +720,11 @@ FluidbookLoader.prototype = {
             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);
         });