我收到如下错误:
未捕获的TypeError:无法读取null的属性'__webglFramebuffer'

当我转到另一个页面时,该页面链接到附加了Autodesk Viewer的页面。我不知道为什么会这样。我正在为我的网站使用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
  }
}

关于javascript - 在Autodesk Viewer中出现WebGL错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45354065/

10-10 01:43