cosmetical tweaks to postmessage plugin
authorHakim El Hattab <hakim.elhattab@gmail.com>
Sat, 10 Nov 2012 22:15:11 +0000 (17:15 -0500)
committerHakim El Hattab <hakim.elhattab@gmail.com>
Sat, 10 Nov 2012 22:15:11 +0000 (17:15 -0500)
plugin/postmessage/example.html [new file with mode: 0644]
plugin/postmessage/iframe_example.html [deleted file]
plugin/postmessage/postmessage.js

diff --git a/plugin/postmessage/example.html b/plugin/postmessage/example.html
new file mode 100644 (file)
index 0000000..cc57a7b
--- /dev/null
@@ -0,0 +1,39 @@
+<html>
+       <body>
+
+               <iframe id="reveal" src="../../index.html" style="border: 0;" 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>
diff --git a/plugin/postmessage/iframe_example.html b/plugin/postmessage/iframe_example.html
deleted file mode 100644 (file)
index 6e5709d..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-<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>
index 176d2306ecf7254fe0ce2ae81e4a178d56a6f9c2..d0f41407857162fe59bab3ac52504808e4e2d7eb 100644 (file)
@@ -1,39 +1,41 @@
 /*
-simple postmessage plugin
 
-Useful when a reveal slideshow is inside an iframe.
-It allows to call reveal methods from outside.
+       simple postmessage plugin
 
-Example:
-   var reveal =  window.frames[0];
+       Useful when a reveal slideshow is inside an iframe.
+       It allows to call reveal methods from outside.
 
-   // 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]}), '*');
+       Example:
+                var reveal =  window.frames[0];
 
-Add to the slideshow:
+                // 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]}), '*');
 
-       dependencies: [
-        ...
-               { src: 'plugin/postmessage/postmessage.js', async: true, condition: function() { return !!document.body.classList; } }
-       ]
+       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);
+       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);
+
 }());