From 13fb30c8fc72e45a2dfb170322deff4b9ffd82bc Mon Sep 17 00:00:00 2001 From: varac Date: Tue, 21 Jun 2016 11:21:55 +0200 Subject: added cardiff2015 slides --- cardiff2015/slides/plugin/postmessage/example.html | 39 ++++++++++++++++++++ .../slides/plugin/postmessage/postmessage.js | 42 ++++++++++++++++++++++ 2 files changed, 81 insertions(+) create mode 100644 cardiff2015/slides/plugin/postmessage/example.html create mode 100644 cardiff2015/slides/plugin/postmessage/postmessage.js (limited to 'cardiff2015/slides/plugin/postmessage') diff --git a/cardiff2015/slides/plugin/postmessage/example.html b/cardiff2015/slides/plugin/postmessage/example.html new file mode 100644 index 0000000..cc57a7b --- /dev/null +++ b/cardiff2015/slides/plugin/postmessage/example.html @@ -0,0 +1,39 @@ + + + + + +
+ + + +
+ + + + + diff --git a/cardiff2015/slides/plugin/postmessage/postmessage.js b/cardiff2015/slides/plugin/postmessage/postmessage.js new file mode 100644 index 0000000..d0f4140 --- /dev/null +++ b/cardiff2015/slides/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); + +}()); + + + -- cgit v1.2.3