summaryrefslogtreecommitdiff
path: root/reveal.js-2.6.2/plugin/postmessage/postmessage.js
diff options
context:
space:
mode:
authorGuido Günther <agx@sigxcpu.org>2015-01-09 10:16:36 +0100
committerGuido Günther <agx@sigxcpu.org>2015-01-13 07:58:25 +0100
commit087036ff7eeb173ed65080f1ae562cad2067be4d (patch)
tree9ea481538e51bd14c0d88ce3fc8daa1bc7d49c84 /reveal.js-2.6.2/plugin/postmessage/postmessage.js
Initial commitHEADmaster
Diffstat (limited to 'reveal.js-2.6.2/plugin/postmessage/postmessage.js')
-rw-r--r--reveal.js-2.6.2/plugin/postmessage/postmessage.js42
1 files changed, 42 insertions, 0 deletions
diff --git a/reveal.js-2.6.2/plugin/postmessage/postmessage.js b/reveal.js-2.6.2/plugin/postmessage/postmessage.js
new file mode 100644
index 0000000..d0f4140
--- /dev/null
+++ b/reveal.js-2.6.2/plugin/postmessage/postmessage.js
@@ -0,0 +1,42 @@
+/*
+
+ 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);
+
+}());
+
+
+