]> _ Git - fluidbook-html5.git/commitdiff
fix #2863 @1
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 1 Oct 2020 10:50:06 +0000 (12:50 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 1 Oct 2020 10:50:06 +0000 (12:50 +0200)
js/libs/fluidbook/fluidbook.loader.js
js/libs/fluidbook/fluidbook.pagetransitions.js
js/libs/fluidbook/fluidbook.support.js

index 323ed20eb74593d52af90f2b0234d58a28d02e69..148cdb4b8ea89d23e1cbe1d12412b46410ca308a 100644 (file)
@@ -418,7 +418,7 @@ FluidbookLoader.prototype = {
     },
 
     _loadTexture: function (page, callback) {
-        if (page <= 0 || page > this.fluidbook.settings.pages) {
+        if (!this.fluidbook.support.datauriallowed || page <= 0 || page > this.fluidbook.settings.pages) {
             callback();
             return;
         }
index 38f21ccd8a25cef17a72c8a80d8e7f99f022fb54..892748982e8fe3c8f8f6a187a426076481eb2d41 100644 (file)
@@ -65,14 +65,14 @@ FluidbookPageTransition.prototype = {
         if (this.fluidbook.settings.mobileTransitions === 'slide') {
             return 'slide';
         }
-        if (!this.fluidbook.support.transitions3dacc) {
+        if (!this.fluidbook.support.transitions3dacc || !this.fluidbook.support.datauriallowed) {
             if (!this.fluidbook.support.transitions3d) {
                 return 'slide';
             } else {
                 return 'flipcss';
             }
         }
-        if (this.fluidbook.support.transitions3dacc && this.fluidbook.settings.mobileTransitions === 'flip3d') {
+        if (this.fluidbook.support.transitions3dacc && this.fluidbook.settings.mobileTransitions === 'flip3d' && this.fluidbook.support.datauriallowed) {
             return 'flip3d';
         }
         return 'flipcss';
index 0befbfc9bfeeb3cd54bcc26354bff97a109c682b..ddab074b64e6bd76d1f9a31753c036c902c8ea37 100644 (file)
@@ -1,5 +1,6 @@
 function FluidbookSupport(fluidbook) {
     this.fluidbook = fluidbook;
+    this.testDataURILoading();
     this.userAgent = navigator.userAgent;
     this.IE = 0;
     try {
@@ -66,6 +67,21 @@ function FluidbookSupport(fluidbook) {
 }
 
 FluidbookSupport.prototype = {
+    testDataURILoading: function () {
+        var img = new Image();
+        var $this = this;
+        $(img).on('error', function () {
+            $this.datauriallowed = false;
+        });
+        $(img).on('load', function () {
+            $this.datauriallowed = true;
+        });
+        try {
+            img.src = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7';
+        } catch (err) {
+            $this.datauriallowed = false;
+        }
+    },
     getTransitionEndEvent: function (all) {
         if (all == undefined) {
             all = false;