Pārlūkot izejas kodu

wait for document to load before triggering pdf layout

Hakim El Hattab 11 gadi atpakaļ
vecāks
revīzija
1b236bdf21
1 mainītis faili ar 14 papildinājumiem un 6 dzēšanām
  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 );
+			}
+		}
+
 	}
 
 	/**