UNPKG

@threlte/xr

Version:

Tools to more easily create VR and AR experiences with Threlte

21 lines (20 loc) 612 B
/** * Gets the support state of requested session mode. * @param mode Session mode: 'inline' | 'immersive-vr' | 'immersive-ar' * @returns The current support state */ export const getXRSupportState = async (mode) => { if (navigator?.xr === undefined) { return 'unsupported'; } if (!window.isSecureContext) { return 'insecure'; } try { const supported = await navigator.xr.isSessionSupported(mode); return supported ? 'supported' : 'unsupported'; } catch (error) { return error.name === 'SecurityError' ? 'blocked' : 'unsupported'; } };