在 Autodesk Viewer 中出现 webGL 错误
2017-07-27
922
我收到如下错误: 未捕获的 TypeError:无法读取 null 的属性“__webglFramebuffer”
当我要转到与附加了 autodesk viewer 的页面链接的另一个页面时。我不知道为什么会出现这种情况。我在我的网站上使用了 angularjs,该页面的控制器中没有关于 viewer 的代码。
1个回答
您收到此错误是因为您没有销毁离开页面上的查看器实例,因此当收到诸如页面调整大小之类的事件时,查看器将尝试重新渲染,并且由于 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
}
}
Felipe
2017-08-05