Javascript 隐藏嵌入的一帧场景

Javascript 隐藏嵌入的一帧场景,javascript,aframe,webvr,Javascript,Aframe,Webvr,我想以编程方式隐藏和显示嵌入的aframe场景。加载网站时,场景被隐藏,但我只能在这样的延迟下才能让它工作: window.onload = function () { setTimeout(function() { document.getElementById("scene-page").setAttribute("hidden", ""); }, 500); } 如果不添加此延迟,即使再次将场景设置为“可见”,场景仍保持隐藏状态。具体而言,画布的大小似乎调整为0px: <canva

我想以编程方式隐藏和显示嵌入的aframe场景。加载网站时,场景被隐藏,但我只能在这样的延迟下才能让它工作:

window.onload = function () {
setTimeout(function() { document.getElementById("scene-page").setAttribute("hidden", ""); }, 500);
}
如果不添加此延迟,即使再次将场景设置为“可见”,场景仍保持隐藏状态。具体而言,画布的大小似乎调整为0px:

<canvas class="a-canvas a-grab-cursor" data-aframe-canvas="true" width="0" height="0" style="width: 0px; height: 0px;"></canvas>

使其可见的唯一方法是调整浏览器窗口的大小,这似乎会调整画布的大小

有没有更好的方法可以在不延迟的情况下隐藏场景?

从我看到的内容(如帖子,或者),如果在整个画布加载之前设置
显示:无
,则
画布
/
渲染器
/
摄影机
属性将无法正确设置

我试着等待
a-scene
加载的
/
renderstart
事件、
窗口。onload
和内部实体,但它似乎仍然扰乱了画布设置

调整窗口大小时,它工作的原因是,场景有一个用于调整大小的侦听器,该侦听器会相应地使用画布宽度更新所有这些内容。我不确定是否可以手动调用
resize

查看->只需搜索
这个。调整大小
,有3个点击,一个在
a-scene


如果将空白的
放置在固定位置的a-frame画布前面,则将其从
显示:无切换到
,似乎更容易、更安全。活小提琴

场景启动并运行后,您可以随意切换其
显示!活小提琴