0
Iは、フレームのVRモードを切り替えながら、いくつかのHTMLブロックを隠し、表示したいと思い:トグル・フレームとDOMの可視性
// 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();
}
}
}
});
それはデスクトップブラウザでかなりよく働きました。ただし、モバイルデバイスでは必ずしも機能しませんでした。 「時々」.site-headerと.featuredImageに.LightOffを追加しました。 .a-orientation-modalのXボタンをクリックすると、.LightOffは決して削除されません。
トグルを常にモバイルデバイスで使用できるようにするにはどうすればよいですか? ありがとう!
あなたはソフトウェアのこのバグで開発者にアプローチしましたか? – zerohero
私はa-frameコミュニティがユーザーに質問を投稿するよう促しています:p – ymcheung
質問は良いことですが、現在の形では、A-Frameライブラリよりも全画面APIのブラウザの実装が一貫していないことが考えられます。私はあなたが文書のフルスクリーンイベントではなく、 ' 'エレメントの 'enter-vr'イベントと' exit-vr'イベントを聞いて、そのすべてを回避できると思います。これはあなたのために働きますか? –