aboutsummaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
authorHakim El Hattab <hakim.elhattab@gmail.com>2014-04-22 19:01:59 +0200
committerHakim El Hattab <hakim.elhattab@gmail.com>2014-04-22 19:01:59 +0200
commit53238c47ce85b2746d8d3375dc909aff892de3e7 (patch)
tree98a637f36331b6a880fee037d19af517462df357 /js
parent167400ee8b846be814ae6b4ef8bac48c8b9e539c (diff)
downloadfreenode-live-2017-presentation-53238c47ce85b2746d8d3375dc909aff892de3e7.tar
freenode-live-2017-presentation-53238c47ce85b2746d8d3375dc909aff892de3e7.tar.gz
null and type check what comes through postmessage
Diffstat (limited to 'js')
-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 );
}