|
@@ -169,7 +169,8 @@
|
|
|
|
|
|
var notes = document.getElementById( 'notes' ),
|
|
|
currentSlide = document.getElementById( 'current-slide' ),
|
|
|
- nextSlide = document.getElementById( 'next-slide' );
|
|
|
+ nextSlide = document.getElementById( 'next-slide' ),
|
|
|
+ silenced = false;
|
|
|
|
|
|
window.addEventListener( 'message', function( event ) {
|
|
|
var data = JSON.parse( event.data );
|
|
@@ -184,10 +185,14 @@
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ silenced = true;
|
|
|
+
|
|
|
// Update the note slides
|
|
|
currentSlide.contentWindow.Reveal.slide( data.indexh, data.indexv, data.indexf );
|
|
|
nextSlide.contentWindow.Reveal.slide( data.nextindexh, data.nextindexv );
|
|
|
|
|
|
+ silenced = false;
|
|
|
+
|
|
|
}, false );
|
|
|
|
|
|
var start = new Date(),
|
|
@@ -218,12 +223,21 @@
|
|
|
|
|
|
}, 1000 );
|
|
|
|
|
|
- // Navigate the main window when the notes slide changes
|
|
|
- currentSlide.contentWindow.Reveal.addEventListener( 'slidechanged', function( event ) {
|
|
|
+ // Broadcasts the state of the notes window to synchronize
|
|
|
+ // the main window
|
|
|
+ function synchronizeMainWindow() {
|
|
|
|
|
|
- window.opener.Reveal.slide( event.indexh, event.indexv );
|
|
|
+ if( !silenced ) {
|
|
|
+ var indices = currentSlide.contentWindow.Reveal.getIndices();
|
|
|
+ window.opener.Reveal.slide( indices.h, indices.v, indices.f );
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
- } );
|
|
|
+ // Navigate the main window when the notes slide changes
|
|
|
+ currentSlide.contentWindow.Reveal.addEventListener( 'slidechanged', synchronizeMainWindow );
|
|
|
+ currentSlide.contentWindow.Reveal.addEventListener( 'fragmentshown', synchronizeMainWindow );
|
|
|
+ currentSlide.contentWindow.Reveal.addEventListener( 'fragmenthidden', synchronizeMainWindow );
|
|
|
|
|
|
}
|
|
|
else {
|