我使用带有嵌入属性的A-Frame。
请参阅此codepen:
http://codepen.io/ymcheung/full/zKyyqX/
<a-scene embedded>
<a-sky src="https://raw.githubusercontent.com/aframevr/aframe/master/examples/boilerplate/panorama/puydesancy.jpg" rotation="0 -130 0"></a-sky>
</a-scene>
// .a-enter-vr-button is supplied by A-Frame
var sceneVRButton = document.querySelector('.a-enter-vr-button');
单击右下角的VR模式按钮,即使在移动设备中进入VR-Glass模式,桌面上也会进入全屏模式。
在移动模式下,工具栏仍保留在屏幕上,我想暂时隐藏它。
function hideinHome()
{
document.querySelector('.floatingBar').style.opacity = 0;
}
sceneVRButton.addEventListener('click', hideinHome, false);
但是,似乎A-Frame的DOM后来加载的是javascript。
在Chrome的控制台中有以下消息:
Uncaught TypeError: Cannot read property 'addEventListener' of null
是否有任何方法可以倾听&#39;到A-Frame的DOM或在移动设备中进入全屏模式?
谢谢!
答案 0 :(得分:1)
编写A-Frame组件,这样您就不必手动等待初始化。
AFRAME.registerComponent('hide-on-enter-vr-click', {
schema: {type: 'selector'},
init: function () {
var element = this.data;
var button = this.el.querySelector('.a-enter-vr-button');
button.addEventListener('click', function () {
element.style.opacity = 0;
});
}
});
然后将其挂钩。
<a-scene hide-on-enter-vr-click=".floatingBar"></a-scene>