...
Play, pause, and toggle auto-replay are sent from the parent window to the target child window without parameters:
postMessage({'command': 'play'}, parentchild_url)
postMessage({'command': 'pause'}, parentchild_url)
postMessage({'command': 'toggle_loop'}, parentchild_url)
SetCurrentTime is sent with params:
postMessage({'command': 'set_offset','offset': 123}, parentchild_url)
GetCurrentTime is sent with no parameters, but requires that a listener be available to hear the server's response, which will look like: data:{'command':'currentTime','currentTime':123}
postMessage({'command': 'get_offset'}, parentchild_url)
Code Block | ||||
---|---|---|---|---|
| ||||
<iframe id="player_iframe" title="Wildlife" src="//www.example.com/master_files/g445cd121/embed" width="600" height="50" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe> <script> // Send commands to the server function send_command(c, params){ var f = $('#player_iframe'); var command = params || {}; command['command']=c; f.prop('contentWindow').postMessage(command,f.prop('src')); } // Receive commands from the server window.addEventListener('message', function(event) { var command = event.data.command; if (command=='currentTime') $('#set_offset').val(event.data.currentTime); }); </script> <button onClick="send_command('play')">Play</button> <button onClick="send_command('pause')">Pause</button> <button onClick="send_command('toggle_loop')">Toggle Loop</button> <button onClick="send_command('get_offset')">Get Offset</button> <button onClick="send_command('set_offset',{'offset':$('#set_offset').val()})">Set Offset</button> <input type='text' id='set_offset' size='5'/> [seconds] |