Explorar o código

wait for document to load before triggering pdf layout

Hakim El Hattab %!s(int64=11) %!d(string=hai) anos
pai
achega
1b236bdf21
Modificáronse 1 ficheiros con 14 adicións e 6 borrados
  1. 14 6
      js/reveal.js

+ 14 - 6
js/reveal.js

@@ -360,12 +360,6 @@
 		// Update all backgrounds
 		updateBackground( true );
 
-		// Special setup and config is required when printing to PDF
-		if( isPrintingPDF() ) {
-			removeEventListeners();
-			setupPDF();
-		}
-
 		// Notify listeners that the presentation is ready but use a 1ms
 		// timeout to ensure it's not fired synchronously after #initialize()
 		setTimeout( function() {
@@ -381,6 +375,20 @@
 			} );
 		}, 1 );
 
+		// Special setup and config is required when printing to PDF
+		if( isPrintingPDF() ) {
+			removeEventListeners();
+
+			// The document needs to have loaded for the PDF layout
+			// measurements to be accurate
+			if( document.readyState === 'complete' ) {
+				setupPDF();
+			}
+			else {
+				window.addEventListener( 'load', setupPDF );
+			}
+		}
+
 	}
 
 	/**