aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--js/reveal.js13
1 files changed, 9 insertions, 4 deletions
diff --git a/js/reveal.js b/js/reveal.js
index 42edf90..1238f9f 100644
--- a/js/reveal.js
+++ b/js/reveal.js
@@ -575,11 +575,16 @@ var Reveal = (function(){
if( config.postMessage ) {
window.addEventListener( 'message', function ( event ) {
- var data = JSON.parse( event.data );
- var method = Reveal[data.method];
+ var data = event.data;
- if( typeof method === 'function' ) {
- method.apply( Reveal, data.args );
+ // Make sure we're dealing with JSON
+ if( data.charAt( 0 ) === '{' && data.charAt( data.length - 1 ) === '}' ) {
+ data = JSON.parse( data );
+
+ // Check if the requested method can be found
+ if( data.method && typeof Reveal[data.method] === 'function' ) {
+ Reveal[data.method].apply( Reveal, data.args );
+ }
}
}, false );
}