From a7c3543069abc7525e3d4fd7a03a82afdc8a0d63 Mon Sep 17 00:00:00 2001 From: Maurizio Lupo Date: Wed, 31 Oct 2012 15:36:26 +0100 Subject: added a simple postmessage plugin --- plugin/postmessage/postmessage.js | 40 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 plugin/postmessage/postmessage.js (limited to 'plugin/postmessage/postmessage.js') diff --git a/plugin/postmessage/postmessage.js b/plugin/postmessage/postmessage.js new file mode 100644 index 0000000..176d230 --- /dev/null +++ b/plugin/postmessage/postmessage.js @@ -0,0 +1,40 @@ +/* +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 (Reveal[method]){ + Reveal[method].apply(Reveal, data.args); + } +}, false); +}()); + + + -- cgit v1.2.3 From 87591d95d18b9fe215f06791bd639a6ae4839cfd Mon Sep 17 00:00:00 2001 From: Hakim El Hattab Date: Sat, 10 Nov 2012 17:15:11 -0500 Subject: 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 (limited to 'plugin/postmessage/postmessage.js') diff --git a/plugin/postmessage/example.html b/plugin/postmessage/example.html new file mode 100644 index 0000000..cc57a7b --- /dev/null +++ b/plugin/postmessage/example.html @@ -0,0 +1,39 @@ + +
+ + + +