Javascript 使用A-Frame切换DOM的可见性
我想在切换A-Frame的VR模式时隐藏和显示一些HTML块:Javascript 使用A-Frame切换DOM的可见性,javascript,aframe,Javascript,Aframe,我想在切换A-Frame的VR模式时隐藏和显示一些HTML块: // Enter VR Mode and hide some DOMs // opaicty: 0 is applied by .lightOff AFRAME.registerComponent('entering-vr', { schema: { type: 'selector' }, init: function () { var enterBut
// Enter VR Mode and hide some DOMs
// opaicty: 0 is applied by .lightOff
AFRAME.registerComponent('entering-vr',
{
schema:
{
type: 'selector'
},
init: function ()
{
var enterButton = document.querySelector('.a-enter-vr-button');
enterButton.addEventListener('click', function ()
{
document.querySelector('.site-header').classList.add('lightOff');
document.querySelector('.featuredImage').classList.add('lightOff');
})
}
});
// Exit VR Mode and restore visibility
AFRAME.registerComponent('exting-vr',
{
schema:
{
type: 'selector'
},
init: function ()
{
function removeLightOff()
{
document.querySelector('.site-header').classList.remove('lightOff');
document.querySelector('.featuredImage').classList.remove('lightOff');
}
// On Clicking [X] Button in Mobile
var exitButton = document.querySelector('.a-orientation-modal button');
exitButton.addEventListener( 'click', removeLightOff() );
// On Exiting Fullscreen in Desktop
if (document.addEventListener)
{
document.addEventListener('webkitfullscreenchange', exitHandler, false);
document.addEventListener('mozfullscreenchange', exitHandler, false);
document.addEventListener('fullscreenchange', exitHandler, false);
document.addEventListener('MSFullscreenChange', exitHandler, false);
}
function exitHandler()
{
if (document.webkitIsFullScreen || document.mozFullScreen || document.msFullscreenElement !== null)
{
removeLightOff();
}
}
}
});
它在桌面浏览器中运行得非常好。然而,它并不总是在移动设备中工作。“有时”它将.LightOff添加到.site标题和.featuredImage。单击.a-orientation-modal中的X按钮永远不会删除.LightOff
如何使切换在移动设备中始终有效?
谢谢 如Don所述,尝试使用
输入vr
/退出vr
事件。您是否与软件中存在此缺陷的开发人员接触?我认为a-frame社区鼓励用户在此处发布问题:p问题很好,虽然在其当前形式中,可能更多地与全屏API的不一致浏览器实现有关,而不是与A-Frame库有关。我认为您可以通过监听
元素上的输入vr
和退出vr
事件,而不是文档上的全屏事件来解决所有这些问题。这对你有用吗?