【问题标题】:Uncaught ReferenceError: WEBGL is not defined未捕获的 ReferenceError:未定义 WEBGL
【发布时间】:2019-11-29 21:45:58
【问题描述】:

在我的 HTML 中,以下代码部分

if (WEBGL.isWebGLAvailable()==false) {
    document.body.appendChild(WEBGL.getWebGLErrorMessage());
}

在控制台上生成以下错误:

Uncaught ReferenceError: WEBGL is not defined

我已经在导入所有必要的 js,所以问题是:你如何解决这个问题?

【问题讨论】:

  • 你说我正在导入所有必要的js。你能告诉我们吗?
  • 你想把它应用到什么 HTML 上?
  • 是什么让您认为应该定义WEBGL?您是否尝试过查看 MDN 上的 WebGL 教程?

标签: javascript html three.js


【解决方案1】:

似乎您正在使用three.js 库。

正如文档所述:

添加 https://github.com/mrdoob/three.js/blob/master/examples/jsm/WebGL.js 到您的 javascript 并在尝试呈现之前运行以下命令 任何东西。

if ( WEBGL.isWebGLAvailable() ) {

    // Initiate function or other initializations here
    animate();

} else {

    var warning = WEBGL.getWebGLErrorMessage();
    document.getElementById( 'container' ).appendChild( warning );

}

所以我认为您实际上并未加载所需的脚本。

来源:https://threejs.org/docs/#manual/en/introduction/WebGL-compatibility-check

【讨论】:

  • 非常感谢 Trace,它现在抱怨 Cross-Origin Read Blocking (CORB) 阻止了跨域响应并且无法导入 js
  • 你可以直接下载three.js包并添加到你的html页面吗?
猜你喜欢
  • 2023-01-23
  • 2016-11-03
  • 2011-01-05
  • 2016-01-02
  • 2013-10-06
  • 2016-12-17
  • 1970-01-01
相关资源
最近更新 更多