<object data="" type="text/html"></object>
タグを使用して追加のコンテンツ ページを読み込むページがあります。個々のページが機能する前に行う必要があることの 1 つは、以下を使用して XR コンテンツがサポートされているかどうかを判断することです。
async function DetermineXRSupport(){
if (navigator.xr) {
let supportsXR = await navigator.xr.isSessionSupported("immersive-vr");
if(supportsXR ){
//Configure UI, allow progression, etc
}
}
}
これは 90% の確率で機能します。immersive-vr
ただし、親ページがロードされた後に何らかの理由でサポートが失われた場合、すべての子コンテンツ ページはtrue
、プロミスが解決されたときに誤った値を返します。
シナリオ: SteamVR がバックグラウンドで実行されている状態で Web ページをロードし、1 つの XR プレゼンテーションを正常に体験した後、SteamVR が閉じたり、クラッシュしたりします。リストから次のコンテンツ アイテムを選択するか、別のxrSession
. immersive-vr
サポートされなくなったため、xrSession の作成時にエラーがスローされます。
Web ページ全体を再読み込みせずにナビゲーターを更新する方法はありますか?