浏览代码

fix: addEventListener in navigator.xr seems to throw in some cases (#23805)

hybridherbst 3 年之前
父节点
当前提交
0da9a14b61
共有 1 个文件被更改,包括 5 次插入0 次删除
  1. 5 0
      examples/jsm/webxr/VRButton.js

+ 5 - 0
examples/jsm/webxr/VRButton.js

@@ -186,6 +186,11 @@ class VRButton {
 
 
 		if ( 'xr' in navigator ) {
 		if ( 'xr' in navigator ) {
 
 
+			// WebXRViewer (based on Firefox) has a bug where addEventListener 
+			// throws a silent exception and aborts execution entirely.
+			const isWebXRViewer = /WebXRViewer\//i.test( navigator.userAgent );
+			if( isWebXRViewer ) return;
+
 			navigator.xr.addEventListener( 'sessiongranted', () => {
 			navigator.xr.addEventListener( 'sessiongranted', () => {
 
 
 				VRButton.xrSessionIsGranted = true;
 				VRButton.xrSessionIsGranted = true;