123456789101112131415161718192021222324252627282930313233343536373839404142 |
- /*
- 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);
- }());
|