在 Autodesk 查看器中出现 webGL 错误
Getting webGL error in autodesk viewer
我收到如下错误:
未捕获类型错误:无法读取 null
的 属性 '__webglFramebuffer'
当我要转到与附加了 Autodesk 查看器的页面链接的另一个页面时。我不知道它为什么会来。我正在为我的网站使用 angularjs,并且该页面的控制器中没有关于查看器的代码。
您收到此错误是因为您没有销毁您离开的页面上的查看器实例,因此当收到页面调整大小等事件时,查看器将尝试重新呈现,并且由于 WebGL 上下文已被销毁,它将解雇这个错误。
只需放置一些在您离开查看器页面时调用的清理处理程序,具体取决于您使用的 angular 版本,您应该可以轻松找到如何做到这一点,然后放置以下代码来清理查看器:
// assumes this.viewer contains your viewer, your code might be different ...
// make sure viewer has been created
if (this.viewer) {
// I added this to handle some specific cases
if(this.viewer.impl.selector) {
this.viewer.tearDown()
this.viewer.finish()
this.viewer = null
}
}
我收到如下错误: 未捕获类型错误:无法读取 null
的 属性 '__webglFramebuffer'当我要转到与附加了 Autodesk 查看器的页面链接的另一个页面时。我不知道它为什么会来。我正在为我的网站使用 angularjs,并且该页面的控制器中没有关于查看器的代码。
您收到此错误是因为您没有销毁您离开的页面上的查看器实例,因此当收到页面调整大小等事件时,查看器将尝试重新呈现,并且由于 WebGL 上下文已被销毁,它将解雇这个错误。
只需放置一些在您离开查看器页面时调用的清理处理程序,具体取决于您使用的 angular 版本,您应该可以轻松找到如何做到这一点,然后放置以下代码来清理查看器:
// assumes this.viewer contains your viewer, your code might be different ...
// make sure viewer has been created
if (this.viewer) {
// I added this to handle some specific cases
if(this.viewer.impl.selector) {
this.viewer.tearDown()
this.viewer.finish()
this.viewer = null
}
}