From 87591d95d18b9fe215f06791bd639a6ae4839cfd Mon Sep 17 00:00:00 2001 From: Hakim El Hattab Date: Sat, 10 Nov 2012 17:15:11 -0500 Subject: [PATCH] cosmetical tweaks to postmessage plugin --- plugin/postmessage/example.html | 39 ++++++++++++++++++++ plugin/postmessage/iframe_example.html | 34 ------------------ plugin/postmessage/postmessage.js | 50 +++++++++++++------------- 3 files changed, 65 insertions(+), 58 deletions(-) create mode 100644 plugin/postmessage/example.html delete mode 100644 plugin/postmessage/iframe_example.html diff --git a/plugin/postmessage/example.html b/plugin/postmessage/example.html new file mode 100644 index 00000000..cc57a7bb --- /dev/null +++ b/plugin/postmessage/example.html @@ -0,0 +1,39 @@ + + + + + +
+ + + +
+ + + + + diff --git a/plugin/postmessage/iframe_example.html b/plugin/postmessage/iframe_example.html deleted file mode 100644 index 6e5709d0..00000000 --- a/plugin/postmessage/iframe_example.html +++ /dev/null @@ -1,34 +0,0 @@ - - - -
- - - -
- - - diff --git a/plugin/postmessage/postmessage.js b/plugin/postmessage/postmessage.js index 176d2306..d0f41407 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); + }());