postmessage plugin is now part of reveal.js core

This commit is contained in:
Hakim El Hattab
2014-04-18 13:56:51 +02:00
parent 38af788a65
commit 11ea0aa3e1
3 changed files with 25 additions and 82 deletions

View File

@ -239,7 +239,6 @@ var Reveal = (function(){
}
/**
* Loads the dependencies of reveal.js. Dependencies are
* defined via the configuration option 'dependencies'
@ -313,6 +312,9 @@ var Reveal = (function(){
// Make sure we've got all the DOM elements we need
setupDOM();
// Listen to messages posted to this window
setupPostMessage();
// Resets all vertical slides so that only the first is visible
resetVerticalSlides();
@ -551,6 +553,28 @@ var Reveal = (function(){
}
/**
* Registers a listener to postMessage events, this makes it
* possible to call all reveal.js API methods from another
* window. For example:
*
* revealWindow.postMessage( JSON.stringify({
* method: 'slide',
* args: [ 2 ]
* }), '*' );
*/
function setupPostMessage() {
window.addEventListener( 'message', function ( event ) {
var data = JSON.parse( event.data );
var method = Reveal[data.method];
if( typeof method === 'function' ) {
method.apply( Reveal, data.args );
}
}, false);
}
/**
* Applies the configuration settings from the config
* object. May be called multiple times.