42 lines
		
	
	
	
		
			932 B
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
	
		
			932 B
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable file
		
	
	
	
	
| /*
 | |
| 
 | |
| 	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);
 | |
| 
 | |
| }());
 | |
| 
 | |
| 
 | |
| 
 |