javascript - Autodesk Forge Viewer 的多个实例
问题描述
我试图在我的页面上运行多个 Autodesk Forge Viewer (v6.2) 实例,但隐藏在选项卡中。
当用户切换选项卡时,它将隐藏并显示带有加载模型的查看器。
虽然我有这个工作,但任何已加载模型的隐藏实例都会中断事件(例如调整大小事件),并给出如下错误:
VM19014 viewer3D.min.js:53 Uncaught TypeError: Cannot read property '__webglFramebuffer' of null
at k.initFrameBufferMRT (VM19014 viewer3D.min.js:53)
我看过,.tearDown()
但finish()
他们似乎完全卸载了查看器中的模型,减慢了用户的体验。
如果看不到,有没有办法暂停查看器?
编辑:
我已经接受了下面的答案,因为它是一个正确的解决方案,如果我重新做这个页面,我可能会选择一个。
最后,我采用了不同的解决方法,将整个选项卡内容移到屏幕外,这样画布仍然存在于 DOM 中,并且不会跳转我的内容:
.tab-content {
top: -9999px;
left: -9999px;
position: absolute;
display: block !important;
}
解决方案
恐怕没有办法暂停查看器的初始化。它只能用非零大小的画布初始化。z-index
您可以尝试使用而不是隐藏查看器的多个实例,display:none
以便它们都获得非空画布并正确初始化。
推荐阅读
- swift - UITableView 折叠时不记得选择
- assembly - 如何拒绝或反转内存地址
- java - 如果我试图不断检查目录是否存在,最佳实践是什么?JAVA
- android - 哪个版本的 SQLite 添加了对 lead() 和 lag() 函数的支持?
- linux - Getopts 默认案例 bash 脚本
- spring-boot - 如何浏览器测试 Vue.js 应用程序模拟 API 调用?
- angular - 标签 mat-ltab 中 Ngfor 的使用
- javascript - Google Maps API 搜索的迭代 - 首先搜索“i”次,然后回调“i”次
- docker - CircleCI docker 镜像拉取策略
- javascript - 登录时显示用户头像