/* simple postmessage plugin Useful when a reveal slideshow is inside an iframe. It allows to call reveal methods from outside. Example: var reveal = window.frames[0]; // Reveal.prev(); reveal.postMessage(JSON.stringify({method: 'prev', args: []}), '*'); // Reveal.next(); reveal.postMessage(JSON.stringify({method: 'next', args: []}), '*'); // Reveal.slide(2, 2); reveal.postMessage(JSON.stringify({method: 'slide', args: [2,2]}), '*'); Add to the slideshow: dependencies: [ ... { src: 'plugin/postmessage/postmessage.js', async: true, condition: function() { return !!document.body.classList; } } ] */ (function (){ window.addEventListener( "message", function ( event ) { var data = JSON.parse( event.data ), method = data.method, args = data.args; if( typeof Reveal[method] === 'function' ) { Reveal[method].apply( Reveal, data.args ); } }, false); }());