aframe
Version:
A web framework for building virtual reality experiences.
31 lines (27 loc) • 700 B
JavaScript
var isIframed = require('../../utils/').isIframed;
/**
* Provides a post message API for scenes contained
* in an iframe.
*/
module.exports = function initPostMessageAPI (scene) {
// Handles fullscreen behavior when inside an iframe.
if (!isIframed()) { return; }
// postMessage API handler
window.addEventListener('message', postMessageAPIHandler.bind(scene));
};
function postMessageAPIHandler (event) {
var scene = this;
if (!event.data) { return; }
switch (event.data.type) {
case 'vr': {
switch (event.data.data) {
case 'enter':
scene.enterVR();
break;
case 'exit':
scene.exitVR();
break;
}
}
}
}