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