debounce messages from notes -> main window, fixes #3147
This commit is contained in:
parent
fc861fca50
commit
2a239aedca
2
dist/reveal.esm.js
vendored
2
dist/reveal.esm.js
vendored
File diff suppressed because one or more lines are too long
2
dist/reveal.esm.js.map
vendored
2
dist/reveal.esm.js.map
vendored
File diff suppressed because one or more lines are too long
2
dist/reveal.js
vendored
2
dist/reveal.js
vendored
File diff suppressed because one or more lines are too long
2
dist/reveal.js.map
vendored
2
dist/reveal.js.map
vendored
File diff suppressed because one or more lines are too long
@ -5,7 +5,7 @@ export default class Location {
|
|||||||
|
|
||||||
// The minimum number of milliseconds that must pass between
|
// The minimum number of milliseconds that must pass between
|
||||||
// calls to history.replaceState
|
// calls to history.replaceState
|
||||||
MAX_REPLACE_STATE_FREQUENCY = 250
|
MAX_REPLACE_STATE_FREQUENCY = 1000
|
||||||
|
|
||||||
constructor( Reveal ) {
|
constructor( Reveal ) {
|
||||||
|
|
||||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -403,13 +403,21 @@
|
|||||||
}
|
}
|
||||||
else if( /slidechanged|fragmentshown|fragmenthidden|paused|resumed/.test( data.eventName ) && currentState !== JSON.stringify( data.state ) ) {
|
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.
|
* Asynchronously calls the Reveal.js API of the main frame.
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user