Skip to content
Snippets Groups Projects
Commit 42766b1b authored by Hakim El Hattab's avatar Hakim El Hattab
Browse files

Merge branch 'master' of https://github.com/sithmel/reveal.js

merge postmessage api
parents b42890d1 a7c35430
No related branches found
No related tags found
No related merge requests found
<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>
/*
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);
}());
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment