add config option for postMessage features
This commit is contained in:
parent
a4b09aecda
commit
fea11d24bc
21
js/reveal.js
21
js/reveal.js
|
@ -89,6 +89,9 @@ var Reveal = (function(){
|
||||||
// Opens links in an iframe preview overlay
|
// Opens links in an iframe preview overlay
|
||||||
previewLinks: false,
|
previewLinks: false,
|
||||||
|
|
||||||
|
// Flags if we should listen to and dispatch events through window.postMessage
|
||||||
|
postMessage: true,
|
||||||
|
|
||||||
// Focuses body when page changes visiblity to ensure keyboard shortcuts work
|
// Focuses body when page changes visiblity to ensure keyboard shortcuts work
|
||||||
focusBodyOnPageVisiblityChange: true,
|
focusBodyOnPageVisiblityChange: true,
|
||||||
|
|
||||||
|
@ -565,14 +568,16 @@ var Reveal = (function(){
|
||||||
*/
|
*/
|
||||||
function setupPostMessage() {
|
function setupPostMessage() {
|
||||||
|
|
||||||
window.addEventListener( 'message', function ( event ) {
|
if( config.postMessage ) {
|
||||||
var data = JSON.parse( event.data );
|
window.addEventListener( 'message', function ( event ) {
|
||||||
var method = Reveal[data.method];
|
var data = JSON.parse( event.data );
|
||||||
|
var method = Reveal[data.method];
|
||||||
|
|
||||||
if( typeof method === 'function' ) {
|
if( typeof method === 'function' ) {
|
||||||
method.apply( Reveal, data.args );
|
method.apply( Reveal, data.args );
|
||||||
}
|
}
|
||||||
}, false );
|
}, false );
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -967,7 +972,7 @@ var Reveal = (function(){
|
||||||
|
|
||||||
// If we're in an iframe, post each reveal.js event to the
|
// If we're in an iframe, post each reveal.js event to the
|
||||||
// parent window. Used by the notes plugin
|
// parent window. Used by the notes plugin
|
||||||
if( window.parent !== window.self ) {
|
if( config.postMessage && window.parent !== window.self ) {
|
||||||
// Remove arguments that can't be stringified (circular structures)
|
// Remove arguments that can't be stringified (circular structures)
|
||||||
if( args && args.currentSlide ) delete args.currentSlide;
|
if( args && args.currentSlide ) delete args.currentSlide;
|
||||||
if( args && args.previousSlide ) delete args.previousSlide;
|
if( args && args.previousSlide ) delete args.previousSlide;
|
||||||
|
|
Loading…
Reference in New Issue