我收到如下错误:未捕获的类型错误: 无法读取 null 的属性"__webglFramebuffer">
当我要转到与附加了Autodesk查看器的页面链接的另一个页面时。我不知道它为什么来.我正在为我的网站使用 angularjs,并且该页面的控制器中没有关于查看器的代码。
您收到此错误是因为您没有销毁您离开的页面上的查看器实例,因此当收到诸如页面大小调整之类的事件时,查看器将尝试重新呈现,并且由于 WebGL 上下文已被销毁,它将触发此错误。
只需放置一些清理处理程序,当您离开查看器页面时调用,根据您使用的角度版本,您应该轻松找到方法,然后放置以下代码来清理查看器:
// 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
}
}