diff --git a/plugin/postmessage/example.html b/plugin/postmessage/example.html new file mode 100644 index 0000000000000000000000000000000000000000..cc57a7bb1e056b491f2aa5ff59af6cf99ff96cb5 --- /dev/null +++ b/plugin/postmessage/example.html @@ -0,0 +1,39 @@ +<html> + <body> + + <iframe id="reveal" src="../../index.html" style="border: 0;" width="500" height="500"></iframe> + + <div> + <input id="back" type="button" value="go back"/> + <input id="ahead" type="button" value="go ahead"/> + <input id="slideto" type="button" value="slideto 2-2"/> + </div> + + <script> + + (function (){ + + var back = document.getElementById( 'back' ), + ahead = document.getElementById( 'ahead' ), + slideto = document.getElementById( 'slideto' ), + reveal = window.frames[0]; + + back.addEventListener( 'click', function () { + + reveal.postMessage( JSON.stringify({method: 'prev', args: []}), '*' ); + }, false ); + + ahead.addEventListener( 'click', function (){ + reveal.postMessage( JSON.stringify({method: 'next', args: []}), '*' ); + }, false ); + + slideto.addEventListener( 'click', function (){ + reveal.postMessage( JSON.stringify({method: 'slide', args: [2,2]}), '*' ); + }, false ); + + }()); + + </script> + + </body> +</html> diff --git a/plugin/postmessage/iframe_example.html b/plugin/postmessage/iframe_example.html deleted file mode 100644 index 6e5709d07f5cd88c399eeb863f85fbe4d470f375..0000000000000000000000000000000000000000 --- a/plugin/postmessage/iframe_example.html +++ /dev/null @@ -1,34 +0,0 @@ -<html> -<body> - <iframe id="reveal" src="reveal.js/index.html" width="500" height="500"></iframe> -<div> -<input id="back" type="button" value="go back"/> -<input id="ahead" type="button" value="go ahead"/> -<input id="slideto" type="button" value="slideto 2-2"/> -</div> -<script> -(function (){ - var back = document.getElementById('back'), - ahead = document.getElementById('ahead'), - slideto = document.getElementById('slideto'), - reveal = window.frames[0]; - - back.addEventListener('click', function (){ - - reveal.postMessage(JSON.stringify({method: 'prev', args: []}), '*'); - },false); - - ahead.addEventListener('click', function (){ - reveal.postMessage(JSON.stringify({method: 'next', args: []}), '*'); - },false); - - slideto.addEventListener('click', function (){ - - reveal.postMessage(JSON.stringify({method: 'slide', args: [2,2]}), '*'); - },false); - -}()); - -</script> -</body> -</html> diff --git a/plugin/postmessage/postmessage.js b/plugin/postmessage/postmessage.js index 176d2306ecf7254fe0ce2ae81e4a178d56a6f9c2..d0f41407857162fe59bab3ac52504808e4e2d7eb 100644 --- a/plugin/postmessage/postmessage.js +++ b/plugin/postmessage/postmessage.js @@ -1,39 +1,41 @@ /* -simple postmessage plugin -Useful when a reveal slideshow is inside an iframe. -It allows to call reveal methods from outside. + simple postmessage plugin -Example: - var reveal = window.frames[0]; + Useful when a reveal slideshow is inside an iframe. + It allows to call reveal methods from outside. - // 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]}), '*'); + Example: + var reveal = window.frames[0]; -Add to the slideshow: + // 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]}), '*'); - dependencies: [ - ... - { src: 'plugin/postmessage/postmessage.js', async: true, condition: function() { return !!document.body.classList; } } - ] + 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 (Reveal[method]){ - Reveal[method].apply(Reveal, data.args); - } -}, false); + 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); + }());