Выйти из всплывающего окна Aframe

129
11

У меня есть встроенный элемент a-scene, в котором пользователи могут щелкнуть, чтобы войти в полноэкранный режим Aframe. На конкретном событии (пользователь перешел к определенной позиции в a-scene), я хочу вызвать автоматический выход из полноэкранного режима. Это было бы эквивалентно пользователю, нажимая клавишу ESC, но программно. Как я могу это сделать?

Вот мой код сцены:

...
<a-scene id="3d-view" embedded style="z-index: 9999;">
<a-entity position="33 0 -33" rotation="0 180 0" id="camera" camera="userHeight: 1.6" listener>
</a-entity>
...
<!-- Lighting -->
<a-light type="ambient" color="#bbb"></a-light>
<a-light color="#ccc" position="0 30 0" distance="100" intensity="0.4" type="point"></a-light>
<a-light color="#ccc" position="3 10 -10" distance="50" intensity="0.4" type="point"></a-light>
<a-entity id="a"></a-entity>
</a-scene>
...

Вот способ выхода из полноэкранного режима:

var obj3d = document.querySelector("#camera").object3D;
AFRAME.registerComponent('listener', {
tick: function () {
if(Math.abs(obj3d.position.x) < 35) {
//HERE IT SHOULD EXIT FULL SCREEN IF WE ARE IN FULL SCREEN
}
}
});

спросил(а) 2021-01-19T17:47:52+03:00 2 месяца, 3 недели назад
1
Решение
75

this.el.sceneEl.exitVR()

или же

exitFullscreen();

function exitFullscreen () {
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if (document.webkitExitFullscreen) {
document.webkitExitFullscreen();
}
}

ответил(а) 2021-01-19T17:47:52+03:00 2 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема