|
@@ -403,13 +403,21 @@
|
|
|
}
|
|
|
else if( /slidechanged|fragmentshown|fragmenthidden|paused|resumed/.test( data.eventName ) && currentState !== JSON.stringify( data.state ) ) {
|
|
|
|
|
|
- window.opener.postMessage( JSON.stringify({ method: 'setState', args: [ data.state ]} ), '*' );
|
|
|
+ dispatchStateToMainWindow( data.state );
|
|
|
|
|
|
}
|
|
|
}
|
|
|
|
|
|
} );
|
|
|
|
|
|
+ /**
|
|
|
+ * Updates the presentation in the main window to match the state
|
|
|
+ * of the presentation in the notes window.
|
|
|
+ */
|
|
|
+ const dispatchStateToMainWindow = debounce(( state ) => {
|
|
|
+ window.opener.postMessage( JSON.stringify({ method: 'setState', args: [ state ]} ), '*' );
|
|
|
+ }, 500);
|
|
|
+
|
|
|
/**
|
|
|
* Asynchronously calls the Reveal.js API of the main frame.
|
|
|
*/
|